c# – WCF数据服务入门

这是我在其他空白Web应用程序(.Net 4)中唯一的代码:

public class Spork
{
    public string Name { get; set; }
    public DateTime BirthDate { get; set; }
}

public class WcfDataService1 : DataService<Spork>
{
    public static void InitializeService(DataServiceConfiguration config)
    {
        config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
        config.SetEntitySetPageSize("*", 26);
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }

    [WebGet]
    public IQueryable<Spork> Get()
    {
        List<Spork> retval = new List<Spork>();
        retval.Add(new Spork() { BirthDate = DateTime.Now, Name = "jason" });
        return retval.AsQueryable<Spork>();
    }
}

如果我去http:// localhost:1285 / WcfDataService1.svc /,我得到这个回复:

<service xml:base="http://localhost:1285/WcfDataService1.svc/">
    <workspace>
        <atom:title>Default</atom:title>
    </workspace>
</service>

到目前为止,我觉得这么好.现在,我想通过访问http:// localhost:1285 / WcfDataService1.svc / Get获取我的spork.但我得到了“找不到该段的资源’Get’.”错误.我有什么误会?

最佳答案 您使用的是DataService,但Spork不是数据源(Context),它是一个实体类.

尝试在数据上下文中定义Spork,例如使用Entity Framework模型或Linq To Sql模型.

点赞