【发布时间】:2013-11-17 10:52:40
【问题描述】:
我正在尝试让 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 与数据服务一起工作,我有什么遗漏吗?
【问题讨论】:
标签: c# wcf odata cors dataservice