由于AppPool配置,StaticFile处理程序处理ASP.NET MVC请求?

时间:2016-12-06 00:36:42

标签: asp.net asp.net-mvc iis iis-7.5

有时,在我的Windows 7笔记本电脑上,我的ASP.NET MVC应用程序会因以下错误而失败:

  

HTTP错误403.14 - 禁止将Web服务器配置为不列出此目录的内容。

     

详细错误信息

     

模块DirectoryListingModule

     

通知ExecuteRequestHandler

     

处理程序StaticFile错误

与此同时,其他MVC应用程序运行良好。所以,我知道我已经正确安装了所有东西。我尝试了ASP.NET MVC on IIS 7.5中的想法,但没有一个适合我。

我的猜测是MVC或ASP.NET配置不正确,因此IIS没有正确解释URL并将其映射为应该使用路由的MVC应用程序。找不到正确的HttpModule,因此IIS将请求视为静态页面并重定向到文件夹,但由于目录浏览未启用,我收到错误。

我终于偶然发现了我的文件系统并发现了两个带配置文件的目录:

  • C:\ inetpub \ temp \ appPools \ DefaultAppPool \ DefaultAppPool.config
  • C:\ inetpub \ temp \ appPools \ ASP.NET V4.0 Integrated \ ASP.NET V4.0 Integrated.config

这些配置文件包含一堆不正确的应用程序定义。其中一些是针对未在IIS管理器中显示的应用程序。这是两个例子(一个是不正确的,一个是正确的):

<system.applicationHost>
   <sites>
       <site name="Default Web Site" id="1" serverAutoStart="true">
          <application path="/appsuite/billing/customer/log-in" applicationPool="ASP.NET V4.0 Integrated">
             virtualDirectory path="/" physicalPath="C:\dev\appsuite\trunk\appsuite.Services\Billing\src\Billing" />
          </application>

          <application path="/appsuite/billing" applicationPool="ASP.NET V4.0 Integrated">
             <virtualDirectory path="/" physicalPath="C:\dev\appsuite\trunk\appsuite.Services\Billing\src\Billing" />
          </application>

我的问题是,当我尝试请求与其中一个应用程序匹配的URL时,路径不正确,例如http://localhost/appsuite/billing/customer/log-in,我会收到403错误。

我删除了C:\ inetpub \ temp中的所有内容(我想,嘿,它是一个临时文件夹),在点击我的网址后,配置文件又回来了。然后,我从配置文件中手动删除了与我的网址匹配的应用程序,并且应用程序开始正常运行。

这些配置文件的设置来自哪里,删除后来自哪里的数据?

如何清理其中不再使用的旧垃圾?

我怀疑我在Visual Studio中创建了这个混乱。有时在设置项目的Web属性时,我会不小心将项目URL设置为我的启动URL,而我真的打算将起始URL设置为此值。我猜这是设置一个新的网络应用程序,其网址与我的起始页面匹配。

enter image description here

0 个答案:

没有答案