2011-07-29 10 views
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"/> 

を追加しようとしました。

ありがとうございました!ここでの解決策が見つかりました

+0

)がトライキャッチでStreamFile()メソッドの本体をラップし、任意のより具体的な例外は(それはSaveChangesメソッドにクラッシュ – sll

+0

スローされるかどうかを確認。現時点では、私の配列(137627bytes)に何かがあります – J4N

+0

あなたはどのラインで知っていますか? – sll

答えて

関連する問題