我正在尝试使用Thinktecture.IdentityModel实现CORS,如下面的链接所示:
http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis-with-thinktecture-identitymodel/
我尝试了Web API方法但它没有用。所以我走向了IIS路线。
<system.webServer>
<modules runAllManagedModulesForAllRequests=“true“>
<add name=“MvcCorsHttpModule“
type=“Thinktecture.IdentityModel.Http.Cors.Mvc.MvcCorsHttpModule“/>
</modules>
</system.webServer>
然后再次在global.asax中配置设置:
protected void Application_Start()
{
…
RegisterCors(MvcCorsConfiguration.Configuration);
}
private void RegisterCors(MvcCorsConfiguration corsConfig)
{
corsConfig
.ForResources(“Products.GetProducts”)
.ForOrigins(“http://foo.com”)
.AllowAll();
}
现在,它可以在我的本地主机(Windows 8,VS 2012)中运行,但是当我将它推送到prod(IIS 6)时,它不起作用。是否有其他设置使其在IIS 6中工作?为什么它会在localhost中工作,而不是在我将其推向生产时。
答案 0 :(得分:0)
您的问题与this相反。
模块在IIS6到IIS7 +中的注册方式不同。
<configuration>
<system.web>
<httpModules>
<add name="MvcCorsHttpModule" type="Thinktecture.IdentityModel.Http.Cors.Mvc.MvcCorsHttpModule"/>
</httpModules>
</system.web>
</configuration>