私はWCFサービスでこのエラーを受け取ることができません。理由はわかりません。 基になる接続が閉じられました。WP7 WCF基になる接続が閉じられました:予期せず接続が閉じられました
サーバースタックトレース: System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException、HttpWebRequestの要求、HttpAbortReason abortReason)で で
System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(で System.ServiceModel.Dispatcher.RequestChannelBinder.Request(メッセージ メッセージ、のTimeSpanタイムアウト)で System.ServiceModel.Channels.RequestChannel.Request(メッセージメッセージ、 のTimeSpanタイムアウト)でのTimeSpan タイムアウト)System.ServiceModel.Channels.ServiceChannel.Call System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCallでで(文字列アクション、 ブール一方向、ProxyOperationRuntime動作は、[]イン、 オブジェクト[]アウト、のTimeSpanタイムアウトオブジェクト) System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessageが メッセージで、ProxyOperationRuntime動作))[0]で例外再スロー: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(AT IMessageが reqMsg、IMessageがretMsg)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData & PublicServiceClient.GetProductでIPublicService.GetProductで msgData、のInt32型)(文字列、バーコード)
(文字列、バーコード)内部例外:基礎となる接続が閉じられました:接続 が予期せず閉じました。 System.Net.HttpWebRequest.GetResponse() で でSystem.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpanの タイムアウト)
ここでは、サービスメソッドは次のとおりです。
public Product GetProduct(string barcode)
{
DataContext Db = new DataContext();
var p = Db.Products.Find(barcode);
if (p == null)
return null;
return new Product()
{
ProductID = p.ProductID,
Name = p.Name,
Nutrition = p.Nutrition,
Allergen = p.Allergen,
Image = p.Image,
ManufacturerID = p.ManufacturerID,
ReviewIDs = p.ReviewIDs
};
}
私はこれまで、サービス方法を変更する場合は
[DataContract]
public class Product
{
[Key]
[Required]
[DataMember]
public string ProductID { get; set; }
[Required]
[DataMember]
public string Name { get; set; }
[Required]
[DataMember]
public string Nutrition { get; set; }
[Required]
[DataMember]
public string Allergen { get; set; }
[Required]
[DataMember]
public string Image { get; set; }
[Required]
[DataMember]
public virtual Manufacturer ManufacturerID { get; set; }
[DataMember]
public virtual ICollection<Review> ReviewIDs { get; set; }
}
:ここでは製品データ契約です
public Product GetProduct(string barcode)
{
DataContext Db = new DataContext();
var p = Db.Products.Find(barcode);
if (p == null)
return null;
//return new Product()
//{
// ProductID = p.ProductID,
// Name = p.Name,
// Nutrition = p.Nutrition,
// Allergen = p.Allergen,
// Image = p.Image,
// ManufacturerID = p.ManufacturerID,
// ReviewIDs = p.ReviewIDs
//};
return new Product();
}
例外はスローされず、それが戻って、空の製品なので、私は私が取得していますあいまいな例外を引き起こしているのかわからないよ、誰もがこの問題にいくつかの光を当てることができますか?
画像の大きさはどれくらいですか? –
メンバーがWCFの制限(最大文字列長、最大メッセージサイズ)に違反していないことを確かめていますか? – ChrisWue
@Chris - あなたはその限界が何であるか知っていますか?私はImageが失敗を引き起こしていると想像しています(タイムアウト、サイズなど)。 –