0

我正在尝试使用 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“&gt;
    <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&#8221;)
        .AllowAll();
}

现在,它可以在我的本地主机(Windows 8、VS 2012)中运行,但是当我将它推送到产品(IIS 6)时,它就不起作用了。是否有其他设置可以使其在 IIS 6 中工作?为什么它会在本地主机中工作,但在我将其推送到生产环境时却不行。

4

1 回答 1

0

您的问题与此相反。

模块在 IIS6 到 IIS7+ 中的注册方式不同。

<configuration>
    <system.web>
      <httpModules>
        <add name="MvcCorsHttpModule" type="Thinktecture.IdentityModel.Http.Cors.Mvc.MvcCorsHttpModule"/>
      </httpModules>
    </system.web>
</configuration>
于 2013-01-10T08:42:26.663 回答