asp.net – IIS 8 – 默认文档 – 找不到资源

前端之家收集整理的这篇文章主要介绍了asp.net – IIS 8 – 默认文档 – 找不到资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想了解为什么当我浏览虚拟目录时,我的默认文档不会出现.如果我浏览网站就像我应该能够,我得到这个:

但是,如果我将页面添加到URL中,则会出现:

一个SO answer建议删除所有默认文档(在IIS中),除了真正的文档.我试过了(下面的图片),但没有帮助.

为什么IIS在使用根URL(http:// localhost / SignalRChat)时不会提供该页面

删除默认文档后,这是web.config的相关部分:

<defaultDocument>
    <files>
        <remove value="default.aspx" />
        <remove value="iisstart.htm" />
        <remove value="index.html" />
        <remove value="index.htm" />
        <remove value="Default.asp" />
        <remove value="Default.htm" />
        <add value="ChatPage.cshtml" />
    </files>
</defaultDocument>

这是处理程序部分:

<handlers>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
       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="GET,OPTIONS"
       modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
       preCondition="classicMode,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
       verb="GET,OPTIONS" type="System.Web.Handlers.TransferRequestHandler"
       preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

解决方法

从您的标签看起来,您使用MVC和使用剃刀视图引擎(cshtml)的视图.在MVC中,URL不直接映射到文档.所以讨论不应该是关于默认文档,处理程序和IIS配置.

URL必须与定义的路由匹配,该路由会调用控制器上的操作.然后,此操作将呈现视图(* .cshtml).

尝试修复路由以便处理请求.如果您需要更多帮助,您应该更新您的问题与控制器和路线的更多信息.

猜你在找的asp.Net相关文章