我最近开始研究一种PhoneGap移动应用程序,该应用程序将对ASP.NET WebApi Web服务进行身份验证和使用。我早期的一个问题是使用web.config中的设置在IIS中启用CORS:
int i = 5;
int j = 100;
int * pij;
for (pij = &i; i < j; ) {
if (i & 1) {
*pij *= 2;
pij = &j;
}
else {
i += 1;
*pij -= 1;
pij = &i;
}
}
我的.NET WebAPI应用程序的一部分中的此设置。看看上面的内容,它似乎为绝对所有人打开了Access控件,但我不确定还有什么可能进入标题的值部分。移动应用程序(HTML,JavaScript等)都在移动设备上,对服务器上的API进行jQuery调用。
我的API / HTML似乎按预期工作,并具有上述设置。如果我删除它,我会收到CORS错误。以上是正常的,还是应该更具体一些?
答案 0 :(得分:0)
您尝试将代码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”
答案 1 :(得分:0)
此链接详细介绍了CORS及其与WebAPI的协作方式。 http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#enable-cors