我正试图让一个开发人员的应用程序在我的机器上工作.解决方案是使用Web API在VS 2015中构建的,我使用64位IIS Express运行它.每个请求都返回500.0错误.请求跟踪日志说明了这一点:
1517. -MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName ManagedPipelineHandler
Notification EXECUTE_REQUEST_HANDLER
HttpStatus 500
HttpReason Internal Server Error
HttpSubStatus 0
ErrorCode Recursion too deep; the stack overflowed. (0x800703e9)
ConfigExceptionInfo
Run Code Online (Sandbox Code Playgroud)
相关的配置部分如下所示:
<system.webServer>
<handlers>
<remove name="OPTIONS" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
其他可能相关的事实:
我怎么会开始调试这个?我在Google上获得了相关的点击率.
我正在IIS 中使用失败请求跟踪组件。它写入的日志之一以错误结束LOG_FILE_MAX_SIZE_TRUNCATE。
根据文档,这是由maxLogFileSizeKB设置控制的:
如果失败的请求跟踪日志超过此值,IIS 将以最大文件大小截断日志,并为跟踪事件指定 LOG_FILE_MAX_SIZE_TRUNCATE。
默认值为 1024。
显然,我应该能够通过单击“站点”节点,然后打开网站默认对话框来配置该值。但是,最大日志大小设置似乎不存在(德语屏幕截图,但在 IIS 的其他本地化版本中应该是类似的):
该文档还解释了如何直接在 中更改设置Web.config,但我的文件中只有<traceFailedRequestsLogging>一个元素,而不是所描述的元素。<traceFailedRequests>Web.config
奇怪的是,我什至在整个磁盘上找不到任何包含Web.config为模块配置的常规设置的文件(例如日志文件的目标路径):
我究竟做错了什么?