1

我正在使用托管在 IIS6 中的用 c# 编写的 ASP.Net WEB API。当对 API 进行 POST 时,它会返回 HTTP 状态 413。只要正文中的内容在 32+KB 左右,API(不是 WCF)就会返回响应。如果大小是 40 KB,那么它会出错。

下面是消费者端的代码片段

string apiUrl = "https://a.com/api/emails/send";
using (WebClient client = new WebClient())
{
    client.Headers.Add("Content-Type", "application/json");
    client.Headers.Add("Accept", "application/json");
    try
    {
        var jsonResponce = client.UploadString(apiUrl, jsonRequest);

        var sendEmailResponce = JsonConvert.DeserializeObject<SendEmailResponce>(jsonResponce);
        var  emailMessageId = sendEmailResponce.EmailMessageId;
        Console.WriteLine("email sent.");
    }
    catch (WebException exp)
    {
        var  error = exp.ToString();
        Console.WriteLine(error);
    }
    catch (Exception exp)
    {
        var error = exp.Message;
    }
}

我正在使用 IIS6 。客户端上的 IIS / 代码更改中是否有任何设置可以帮助我解决此问题?

4

1 回答 1

2

尝试这个,

  1. 启动“Internet 信息服务 (IIS) 管理器”</li>
  2. 选择您在其下托管 Web 应用程序的站点。
  3. 在功能部分,双击“配置编辑器”</li>
  4. 在“Section”下选择:system.webServer 然后 serverRuntime
  5. 将“uploadReadAheadSize”部分修改为 20MB(以字节为单位的值)
  6. 单击应用。
于 2016-05-17T07:55:02.940 回答