リストを介してWCFサービスを介して他のさまざまなオブジェクトを問題なく送信しましたが、この特定のオブジェクトを(リストで)送信しようとすると、一種のタイムアウトエラーが発生します。
トレース識別子は次のとおりです。 TraceIdentifier http://msdn.microsoft.com/da-DK/library/System.ServiceModel.Diagnostics.TraceTruncatedQuotaExceeded.aspx
奇妙なことに、オブジェクトを排他的に (リストではなく) 返す別のメソッドがあり、正常に動作します。
さらに、デバッグ中に、(サービス側の) メソッドがリストを正常に返すことがわかりましたが、明らかにリストの受信に失敗したのはクライアントです。
サービスを呼び出すメソッドは次のとおりです (「revs」を宣言する行で失敗します)。
public void GetReviewsInModule()
{
using (var db = new RentItServiceClient())
{
var revs = db.GetReviewsInModule(1);
}
}
実際にオブジェクトをリストとして返すメソッドは次のとおりです(デバッグすると、正常に返されます)。
public List<ReviewModule> GetReviewsInModule(int id)
{
using (Context con = new Context())
{
con.Configuration.ProxyCreationEnabled = false;
var mod = con.Modules.Find(id);
if (mod == null)
throw new WebServiceValidationException("Object does not exist");
List<ReviewModule> revs = con.ModuleReviews.Include("User").Where(r => r.Module.Id == id).ToList();
return revs;
}
}
また、リスト内のオブジェクトのサイズはほとんどないため、送信/受信の制限/タイムアウトを増やすように言わないでください。