[英]Enabling Cors in local IIS
我試過按照微軟的步驟
我提交了我在下面的 GitHub 鏈接中創建的代碼
https://github.com/RGatchalian/StackOverflowQuestions/tree/master/ASPNET/EnablingCors
只是為了解釋一下,前端文件夾是從 Javascript 到 WebApi 的調用,而 TestingCors 文件夾是 WebApi。 我目前正在我的本地 IIS 中運行它。 我使用 Web 部署部署了 WebApi,並將前端放入 inetpub/wwwroot/。 當兩者都在本地主機中時它實際上有效
唯一的解決方法是將 Chrome 與 disable-web-security 一起使用。 它有效。 我嘗試使用從 Google 獲得的內容更改 WebApiConfig.cs 和 web.config,但它仍然無法正常工作。
更新這是代碼
<system.web>
<authentication mode="Windows"/>
<authorization>
<allow users="*" />
</authorization>
<!-- <compilation targetFramework="4.5.2" /> -->
<!-- <httpRuntime targetFramework="4.5.2" /> -->
<customErrors mode="Off" />
</system.web>
<system.webServer>
<cors enabled="true" >
<add origin="*" />
</cors>
</system.webServer>
這是我在放置 allowCredetials 時遇到的錯誤
我可以在我這邊重現這個問題。
web 瀏覽器返回此錯誤的原因是您從物理路徑打開 index.htm 並且 CORS 被阻止。
請從 IIS 或 IIS 快遞打開它。 然后你需要修改你的屬性
[EnableCors(origins: "http://www.myclient.com", headers: "*", methods: "*", SupportsCredentials = true)]
最后,當您從http://www.myclient.Z4D236D9A20D102C5FE6AD1C調用 api 時,您將看到 CORS
它與 CORS 問題有關。 跨域資源共享,需要開啟cors來解決。 我們可以通過三種方式啟用 CORS:
如果要在方法級別啟用,可以裝飾 EnableCors 屬性,請檢查以下代碼: [EnableCors(origins: " ", headers: " ", methods: "*")] 您可以在 origin 中編寫特定的 url,header 也可以設置您將要傳遞的特定 header 和您需要應用的方法名稱。 我正在為所有通用添加 *(任何人都可以訪問)。
希望對您解決問題有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.