0
私が設定した最近のWCFデータサービスをテストしています。バイトを転送するときのWCFデータサービスでの例外[]
私はオブジェクトを追加し、変更を保存するとき、私はこの例外だもののほとんどは、良い作業している、一つだけのコレクションがある :
System.Data.Services.Client.DataServiceRequestException was unhandled
Message=Une erreur s'est produite lors du traitement de cette requête.
Source=System.Data.Services.Client
StackTrace:
à System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse()
à System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest()
à System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
à System.Data.Services.Client.DataServiceContext.SaveChanges()
à WSTester.Program.AddSomeThings(Entities entities) dans D:\MyPath\MAIN\WSTester\Program.cs:ligne 153
à WSTester.Program.Main(String[] args) dans D:\MyPath\MAIN\WSTester\Program.cs:ligne 26
à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
InnerException: System.Data.Services.Client.DataServiceClientException
Message=BadRequest
Source=System.Data.Services.Client
StatusCode=400
StackTrace:
à System.Data.Services.Client.DataServiceContext.SaveResult.<HandleBatchResponse>d__1e.MoveNext()
InnerException:
それはファイルが含まれているオブジェクトのみですが(バイト[] )ので、私は問題があるため、このファイル(サイズのものであると思います...)エラーは、私は冗長な障害をアクティブにしましても、私に多くのことを教えてくれません?
[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]
私はしましたこのコレクションのすべての権利:
0123ここでは、私は私のファイルを追加する方法である:
OrderFile orderFile = new OrderFile() { BinaryFile = StreamFile("BC0201001.pdf"), DateAdded = DateTime.Now, FileName = "BC0201001.pdf", IDOrder = order.IDOrder};
entities.AddToOrderFile(orderFile);
entities.SaveChanges();
//and this the method which put a file into a byte[]
private static byte[] StreamFile(string filename)
{
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
// Create a byte array of file stream length
byte[] ImageData = new byte[fs.Length];
//Read block of bytes from stream into the byte array
fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length));
//Close the File Stream
fs.Close();
return ImageData; //return the byte data
}
私はそれが動作しますが、私は空のtxtファイルを送信する場合、私の要素
に
<httpRuntime maxRequestLength="2097152"/>
を追加しようとしました。
ありがとうございました!ここでの解決策が見つかりました
)がトライキャッチでStreamFile()メソッドの本体をラップし、任意のより具体的な例外は(それはSaveChangesメソッドにクラッシュ – sll
スローされるかどうかを確認。現時点では、私の配列(137627bytes)に何かがあります – J4N
あなたはどのラインで知っていますか? – sll