我正在尝试让 WCF DataService 处理跨域请求。我发现了如何让 WCF 服务与 CORS 一起使用:http: //blogs.microsoft.co.il/blogs/idof/archive/2011/07/02/cross-origin-resource-sharing-cors-and -wcf.aspx
我下载了示例,但无法使其与 DataService 一起使用。它适用于示例服务,但不适用于我的 DataService。
这是我非常简单的 WCF 数据服务:
public class TestService : DataService<DataContext>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.UseVerboseErrors = true;
config.SetEntitySetAccessRule("Items", EntitySetRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
}
}
TestService.svc 文件:
<%@ ServiceHost Language="C#" Factory="WebHttpCors.CorsWebServiceHostFactory, WebHttpCors" Service="MvcApplication1.TestService" %>
DataContext 也很简单:
public class DataContext : DbContext
{
public DbSet<Item> Items { get; set; }
}
但是,预检选项请求仍然返回 501。为了让 CORS 与数据服务一起工作,我是否缺少一些东西?