簡體   English   中英

如何在IIS上正確設置CORS?

[英]How to set up CORS properly on IIS?

我最近開始研究一個PhoneGap移動應用程序,該應用程序將驗證和使用ASP.NET WebApi Web服務。 我早期的問題之一是使用web.config中的設置在IIS中啟用CORS:

<system.webServer>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>

此設置是我的.NET WebAPI應用程序的一部分。 綜上所述,似乎它為所有人開放了訪問控制,但是我不確定標題的值部分中還有什么可能。 移動應用程序(HTML,JavaScript等)都在移動設備上,從而對服務器上的API進行jQuery調用。

通過上述設置,我的API / HTML似乎可以正常工作。 如果刪除它,則會收到CORS錯誤。 以上是正常現象,還是應該更具體?

嗨,嘗試將代碼WebApiConfig像下面的代碼所示

 public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
            config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
        }
}

您必須為Nuget下載EnableCors的“ Microsoft.AspNet.WebApi.Cors”

此鏈接詳細描述了CORS及其如何與WebAPI一起使用。 http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#enable-cors

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM