私はEFと連携してWCFで遊んでいて、コレクションを送信中に問題が発生しました。WCFコレクションを取得しようとするとクライアントがクラッシュする
私は2つのソリューションで構成されたプレイグラウンドで作業していますが、私はそのライン上で通信する必要があります。クライアント間でデータベースにレコードを追加すると、2つの間で文字列を送信しても問題ありません。普通のとオブジェクトを送信して以来、何も私はこれが動作するように期待ただろう正常に動作するように見えたん
public IEnumerable<Company> GetAllCompanies()
{
using (var ctx = new InleerAppContext())
{
return ctx.Company.ToList();
}
}
:よう
私のサービスで実装[OperationContract]
IEnumerable<Company> GetAllCompanies();
:しかし、私のサービスは、次の契約を公開しますあまりにも。私のクライアントからGetAllCompanies()を呼び出すとき はしかし、:
var result2 = service.GetAllCompanies();
foreach (Company c in result2)
{
Console.WriteLine(c.Name);
}
Aて、CommunicationExceptionがスローされます: http://localhost:8080/にHTTPレスポンスを受信している間
エラーが発生しました。これは、サービスエンドポイント がHTTPプロトコルを使用していないためです。これは、HTTP 要求コンテキストがサーバーによって中止されたためです( サービスがシャットダウンしている可能性があります)。詳細はサーバーログを参照してください。 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpanの タイムアウト)でSystem.Net.HttpWebRequest.GetResponseで
()
:いくつかのより多くの情報を
クライアントとサーバーの両方で、カスタムバインド構成(両側のbasicHttpBinding)を使用して、タイムアウトを30分に変更しました。
<bindings>
<basicHttpBinding>
<binding name="longTimeoutBasicHttpBinding"
receiveTimeout="00:30:00"
sendTimeout="00:30:00">
</binding>
</basicHttpBinding>
</bindings>
私はここで何が欠けていますか?
あなたが一つの会社を返すとどう関係をシリアライズしたい場合は?会社にナビゲーションのプロパティはありますか?会社は動的なプロキシで包まれていますか?遅延読み込みを使用していますか? –
configのエンドポイント情報を送信できますか? – Iain
このリンクをチェックするhttp://www.devlifestyle.net/blogs/articles/archive/2009/12/23/parsing-large-messages-in-wcf-maxitemsinobjectgraph-maxreceivedmessagesize-and-maxbuffersize.aspx – VJAI