1

SQL Server で databasemail のステータスを返すストアド プロシージャがあり、文字列 "stopped" または "started" を返します。C#、Silverlight、および WCF Data Service で使用する必要があります。

これが私のコードです:

contex.BeginExecute<String>(new Uri(uri2), OnQueryComplete3, null);
...
private void OnQueryComplete3(IAsyncResult result)
{
   grLog.ItemsSource = contex.EndExecute<String>(result).ToList<String>();
}

そして、私はエラーがあります:

応答ストリームの処理中にエラーが発生しました。XML 要素に混合コンテンツが含まれています。

サービス操作:

[WebGet]
public IQueryable<String> Status_Serwer()
{
return CurrentDataSource
.status_serwer()
.AsQueryable();
}

「.NET 4.0 は、プリミティブ型または複合型 (またはそれらのコレクション) を返すサービス操作からの応答の実体化をまだサポートしていません。」この議論でhttp://go4answers.webhost4life.com/Example/incoking-webget-throws-exception-56000.aspx。本当ですか?

4

1 に答える 1

0

IQueryable は通常、まだ実行されていないリストに使用され、対話型の反復が必要です。サーバー上でデータをまとめているため、ステータス レコードのリスト全体をプルしてからクライアントに送信する方がよい場合があります。応答で IQueryable の代わりに List を使用してみてください。List はシリアライズ可能であることに注意してください。

"CurrentDataSource.status_serwer()" が文字列の列挙可能なリストを返すと仮定すると、次のコードでうまくいくかもしれません。

[WebGet]
public List<String> Status_Serwer()
{
    return CurrentDataSource
          .status_serwer()
          .ToList();
}
于 2012-08-09T18:33:38.023 に答える