.net core 項目配置使用cors 配置跨域 是個很簡單的操作,官網有教程
https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-3.1
當項目釋出到IIS後,如果使用的是Restful 風格的API,其它項目通路的時候控制台會出現跨域的報錯資訊。而且有的接口存在跨域,有的接口不跨域,仔細檢查後發現 GET 和POST 可以正常調用,而PUT DELETE 會提示跨域。
這時候會想,開發環境已經解決過跨域問題,這個問題是如何産生的呢?
經過多次嘗試發現 IIS 有個預設子產品會導緻項目不支援 Put DELETE
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5cjMzMzN0ETM4IzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
如果項目不需要該子產品的内容,删除即可
或者在項目的釋出檔案中找到web.config檔案,配置标紅的資訊,即可解決。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
</system.webServer>