1

.net API を使用して情報を取得するために、サード パーティの Web サービスの 1 つから vb.net コードに Web メソッドを使用しようとしています。

やってみると

Dim records() As WEB_API.DBRecord
records = api.GetView(guid, viewid, dbid, offset, 10000)

Web サービス (SOAP) から次のようなエラーが表示されます。

System.Web.Services.Protocols.SoapHeaderException: Allowed memory size of 157286400 bytes 
   exhausted (tried to allocate 10528769 bytes)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 
     message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at comp.WEB_API.XYZ.GetView(String db_guid, Int32 view_db, Int32 space_id, Int32 offset, Int32 count)

私の側から修正する必要があるものはありますか?何が原因だと思いますか。この問題を解決する方法を教えてください。ありがとう。

4

2 に答える 2

0

メモリ制限を150Mb以上に増やすか、毎回より少ない数のレコードを引き出すようにしてください。サードパーティのAPIではなく、あなたの側でOOMを取得しています。

于 2012-05-18T05:21:59.320 に答える
0

サード パーティの Web サービスでエラーが発生している可能性があります。大量のデータを要求していますが、それらは調整されておらず、メモリが不足しています。

于 2012-05-17T20:33:19.413 に答える