我按照以下步骤在我的控制器中启用CORS:
安装了nuget包:
安装包Microsoft.AspNet.WebApi.Cors
在Global.asax中,添加以下行:
GlobalConfiguration.Configure(WebApiConfig.Register);
在WebApiConfig Register方法中,请输入以下代码:
public static void Register(HttpConfiguration config) {
config.EnableCors();
config.MapHttpAttributeRoutes();
}

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
&#13;
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class MyController : ApiController
&#13;
我使用以下jquery
调用Api$.ajax({
type: 'GET',
url: getURL,
dataType: 'json'
})
.done(
function (data, textStatus, jqXHR) {
$("#" + elementId).text(jqXHR.responseText || data);
}
)
.fail(
function (jqXHR, textStatus, errorThrown) {
$("#" + elementId).text(textStatus);
}
);
当我执行这些步骤时,我得到了&#34; No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。&#34;异常。
如果我只在web.config中启用它:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
&#13;
它工作正常,但它会影响我的所有应用程序操作。
如何将此限制仅限于我的控制器?我在这里错过了什么让它起作用吗?
提前致谢。