摘要:[筆記] 設定UrlRoutingModule時發生錯誤
在WEB.CONFIG中設定
<system.webserver>
<modules>
<remove name="UrlRoutingModule-4.0">
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule">
</add></remove></modules>
</system.webserver>
搭配RouteConfig.cs中的設定,可以將網址作出XX
但是如果該controll有使用了[Authorize]
這個Filter可能會造成物件位初始化的錯誤,
解決方法有三
第一:在modules中加上下列屬性
<modules runAllManagedModulesForAllRequ
第二:
將hlml(或是指定的副檔名)註冊給系統使用
<add modules="IsapiModule" name="(HTML) ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*.html" precondition="classicMode,runtimeVersionv4.0,bitness32" responsebufferlimit="0" scriptprocessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS">
<add modules="IsapiModule" name="(HTML) ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*.html" precondition="classicMode,runtimeVersionv4.0,bitness64" responsebufferlimit="0" scriptprocessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS">
<add name="(HTML) ExtensionlessUrlHandler-Integrated-4.0" path="*.html" precondition="integratedMode,runtimeVersionv4.0" type="System.Web.Handlers.TransferRequestHandler" verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS">
</add>
</add>
</add>
但是如果網站有使用普通的html檔案,則會發生錯誤。
第三
自己寫登入驗證的流程,不要用[Authorize]