2012-11-24 74 views
1

我使用iisexpress與ASP.NET MVC 4,我已經映射robots.txt來一個自定義操作,像這樣:的robots.txt IISExpress動態文件給予404

 routes.MapRoute("Robots.txt", 
      "robots.txt", 
      new { controller = "Home", action = "Robots" }); 

當我把我的開發服務器使用IISExpress,我收到標準的IIS的404錯誤頁面:

Detailed Error Information: 
Module  IIS Web Core 
Notification  MapRequestHandler 
Handler StaticFile 
Error Code  0x80070002 
Requested URL  http://localhost:25315/robots.txt 
Physical Path  c:\dev\myapp\myapp\robots.txt 
Logon Method  Anonymous 
Logon User  Anonymous 

當我使用Visual Studio開發服務器,這似乎做工精細和路線正確。

是否有一個特別的web.config或其他設置,我需要使這個工作?

回答

2

原來你需要在模塊上的web.config中使用runAllManagedModulesForAllRequests =「true」才能使其在IIS或IIS Express中工作。這不是新的asp.net mvc 4項目的默認設置

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
    </modules> 
    </system.webServer>