2011-12-09 17 views
1

Visual Studio 2008でASP.NETでVirtual Basicを使用しています.WebMethodを使用してクライアントとの間で通信しています。データを照会して少量返すことができますが、比較的大量のデータを取得しようとするとServer 500エラーが返されます。私のデータは226561文字の長さなので、それほど大きくはありませんが、私の他の作業テストセット(これは約10キロ長さです)よりもかなり大きいです。比較的大きい文字列を返すときにWebMethodが機能しない

はJavaScript:

PageMethods.my_func("context", success); 
    function success(result, userContext, methodName) { 
     alert("success!"); 
    } 

失敗仮想基本コード:

<System.Web.Services.WebMethod()> _ 
Public Shared Function my_func(ByVal context As String) As IEnumerable 
    var result = "..." '200k characters long 
    Return result 
End Function 

成功した仮想の基本コード:

<System.Web.Services.WebMethod()> _ 
Public Shared Function my_func(ByVal context As String) As IEnumerable 
    var result = "..." '10k characters long 
    Return result 
End Function 

私はWebMethod属性は、文字列の長さの制限を返さ高めるために変更することができます何があります?長さの制限がありますか、それとも私が見ることができなかったいくつかの他の問題ですか?

+0

は、なぜあなたはIEnumerable' ''としてSTRING'を戻ってきていますか? –

+0

これはチュートリアルで私に言われたことです。私は実際に結果を返す前に私自身のシリアル化を行います。それは冗長ですか? – Bill

+0

文字列へのシリアライズを実行した場合、メソッドを 'IEnumerable'ではなく単に' string'を返すように宣言するよりも、 –

答えて

3

あなたの問題はmaxJsonLengthプロパティ(詳細はhere)である可能性があります。

あなたは、web.configファイルでこの設定を調整することができます

+0

うん、あなたは本当に正しいです、どのように人々はこのようなものを見つけるのですか? – Bill

+0

@ YongkeBillYu:何年も同じような問題で壁に頭を打つ –

関連する問題