根據Scott Hanselman的文章,我們總是在我們的Webforms項目中將選項runAllManagedModulesForAllRequests設置爲false。爲什麼在使用Systme.Web.Routing.Route時運行AllManagedModulesForAllRequests爲true
另外我們有幾條routes.MapPageRoute配置成功運行。
現在我們需要添加ICS(互聯網日曆)支持到我們的webform項目。要創建對於用戶來說,這可能是由IHttpHandler的處理乾淨,可讀的網址,我已經添加了以下內容:
routes.Add(new Route("ical/{username}/{somecheck}", new ICalHandler()));
現在,網址是我們想要的方式,就像這樣:
http://foo.com/ical/username/abc.ics
在localhost(VS2012,Windows 8)上,runAllManagedModulesForAllRequests可能爲false。
在測試服務器(Win2k8 R2,IIS7.5)上出現「Page Not Found」錯誤。但是,當啓用runAllManagedModulesForAllRequests時,它可以工作。
如果必須這樣,那就這樣吧。但我真的想知道爲什麼...任何人都可以解釋爲什麼我需要啓用此設置?
非常感謝提前。