2010-11-19 227 views
2

私のwcfサービスがあり、うまく動作します。 その後、私のasp.netアプリケーションからこのサービスに接続しようとしています。すべてはokです、asp.netからの要求がサービスで受信された(私は、コードをデバッグすることができたように)し、それをクライアントに返すとき、私は次のエラーを持って次のようにWCFサービスの基になる接続が閉じられました:予期せず接続が閉じられました

The underlying connection was closed: The connection was closed unexpectedly 

私の契約は次のとおりです。

WCFResponseGetAllProductsでは、WCFRequestGetAllProductsクラスには[DataContract]属性があります。これらのクラスのメンバーは[DataMember]属性を持ちます。私は私の契約に別の方法を追加したとき

しかし:

[OperationContract()] 
int Test(); 

はその後、私は問題なくasp.net MVCアプリケーションからそれを実行することができます。誰か助けてくれますか? PS。私は今wcfサービスをVisual Studio 2010のデフォルトWebサーバーでホストしています

答えて

0

私はこの問題を解決しました。型WCFREsponseGetAllProductsの私の応答オブジェクトで は、私は、次のプロパティ

[DataMember] 
public IQueryable<Product> Products {get;private set;} 

問題はのIQueryableは直列化可能ではないということでしたがありました。私はそれをCollectionに変更しました。今は動作します。

0

WCFResponseGetAllProductsはどれくらい返されますか?以前にメソッドが返すデータ量のために問題が発生しました。

は、属性maxArrayLengthmaxBytesPerReadmaxDepthmaxNameTableCharCountmaxStringContentLengthを探し、それらを増やすことで、あなたのサービスのためのweb.configファイルを調整してみてください。

また、(おそらく)web.configあなたのasp.netアプリケーション用のファイルだけでなく、maxBufferPoolSizemaxReceivedMessageSize値のconfiguration > system.serviceModel > bindings > wsHttpBindingセクションの属性のために同じことを行う必要があります。

+0

あなたが変更する必要がある値について、少し曖昧な回答をお詫び申し上げます - ここは遅れていて、私はワイン1本または2本= – Rob

3

私はあなたの問題を解決したことがわかりますが、私はまだService Trace Viewerを使って、このような状況で何がうまくいかないかを調べる助言を提供できます。

関連する問題