2

やや大きなペイロード (800 MB) でファイルのアップロードに取り組んでおり、サーバーがタイムアウトしています。

Windows(7および10)でasp.netコアRC2、mvc6、およびKestrelサーバーを使用しており、セッションタイムアウトを設定する場所が見つかりません。

ネットで検索しても出てこないので困っています。タイムアウトをどのように設定しますか?

4

1 に答える 1

5

同様の問題に遭遇したところ、明らかにIISExpress(少なくともVisual Studioから使用した場合)にはデフォルトの2分間の接続タイムアウトがあり、その後502の不正なゲートウェイで応答することがわかりました。.vs\config\applicationhost.config の要素「webLimits」に属性「connectionTimeout」を適切な値で追加することで、問題を解決できました。

<webLimits connectionTimeout="00:10:00" />

webLimits 要素の詳細は次のとおりです: https://www.iis.net/configreference/system.applicationhost/weblimits

ASP.NET Core 1.0 にアップグレードした後の更新: web.config の aspNetCore 要素に "requestTimeout" 属性があります。この属性のデフォルト値も 2 分です。

<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore 
      processPath="%LAUNCHER_PATH%" 
      arguments="%LAUNCHER_ARGS%" 
      forwardWindowsAuthToken="false" 
      stdoutLogEnabled="false" 
      requestTimeout="00:10:00" /> <!-- <== -->
  </system.webServer>
</configuration>

aspNetCore のその他の属性については、 https ://docs.microsoft.com/en-us/aspnet/core/hosting/aspnet-core-module を参照してください。

于 2016-06-20T11:55:43.207 に答える