5
我需要暫時禁用asp.net webapi應用程序中的路由,我無法編譯並執行另一個部署。我可以在web.config中禁用asp.net web api路由嗎?
我可以只是在web.config中禁用asp.net web api路由嗎?
我需要暫時禁用asp.net webapi應用程序中的路由,我無法編譯並執行另一個部署。我可以在web.config中禁用asp.net web api路由嗎?
我可以只是在web.config中禁用asp.net web api路由嗎?
我不認爲你可以禁用web.config中的特定路由。通常情況下,如果您想禁用路線,您可以使用IgnoreRoute
,或者只需在路線存在的地方刪除WebApiConfig.cs
或Global.asax
文件中的路線。
既然你只想在web.config中做,而不做編譯和另一個部署,我只能想兩種方法。
1)使用URL重寫
<rewrite>
<rules>
<clear />
<rule name="diableRoute" stopProcessing="true">
<match url="api/YourWebApiController" />
<action type="Redirect" url="Error/NotFound" appendQueryString="false" />
</rule>
</rules>
</rewrite>
這一結果將返回404錯誤頁面。
2)設置的授權規則
<location path="api/YourWebApiController">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
這一結果將返回到登錄頁面,因爲到Web API路由訪問被拒絕。
您可以根據需要自定義一個。
感謝您的回答。另一種解決方案是在IIS中配置請求過濾規則。 –
是否有可能只啓用某些路徑並使用web.config中的方法拒絕所有其餘的api? –
RPDeshaies