2017-08-24 24 views
0

一度、PostAsJsonAsyncでHttpClientリクエストを送信すると、リクエストエンティティが大きすぎるという応答が返されます。私はwebapiに直接呼び出すことができ、要求を送信し、成功した応答を返します。 PostAsJsonAsyncを通じて413エラーコードを返します。413 HttpClientに対してエンティティが大きすぎる

これは、問題がサーバー側の(自己ホスティングHttpSelfHostServerまたはIIS)上で解かなければならない私のコード

var client = new HttpClient { BaseAddress = new Uri(ConfigurationManager.AppSettings.Get("API_HOST")) }; 
    const string api = "CmSaveChange" + "/" + "SaveChange"; 
    var response = client.PostAsJsonAsync(api, entity).Result; 
    var retunValue = response.Content.ReadAsAsync<HybridDictionary>().Result; 

答えて

0

です。
バッファーをより高い値に設定する必要があります。
IISの下でホストの実行の場合: Configure IIS

サーバがHttpSelfHostServerとして実行されている場合:
あなたは(必要に応じて)設定パラメータに高い値を設定する必要があります。 vb.netのため

Dim cSelhostConfiguration As String = cIPADressePort 
' Note: cIPADressePort contains the IP address and port on which the host is listen 
Dim config As New HttpSelfHostConfiguration(cSelhostConfiguration) 
'Set here the needed size (in bytes) 
config.MaxBufferSize = 250000000 
config.MaxReceivedMessageSize = 250000000 
' 
config.Routes.MapHttpRoute(
name:="DefaultApi", 
routeTemplate:="api/{controller}/{id}", 
defaults:=New With {.id = RouteParameter.Optional} 
) 
' 
Using server As New HttpSelfHostServer(config) 
Try 
server.OpenAsync().Wait() 
Console.WriteLine("") 
Console.WriteLine("WebService started... ") 
Console.WriteLine("Waiting for work...") 
    Catch aggEx As AggregateException 
Console.WriteLine("Error loading Server") 
    End Try 
    Console.WriteLine() 
Console.WriteLine("Press enter to close the server") 
    Console.ReadLine() 
End Using 
関連する問題