簡體   English   中英

WCF數據服務入門

[英]Getting started with WCF Data Services

這是我在否則為空白的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/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來獲取我的http://localhost:1285/WcfDataService1.svc/Get 但是,我得到了“找不到針對段'Get'的資源”。 錯誤。 我有什么誤會?

您正在使用DataService,但Spork不是數據源(上下文),它是一個實體類。

嘗試在數據上下文中定義Spork,例如使用Entity Framework模型或Linq To Sql模型。

看來您正在嘗試將REST與WCF一起使用。 可以這樣做(請參閱: http : //msdn.microsoft.com/zh-cn/magazine/dd315413.aspx ),但是默認情況下,WCF是基於SOAP的。 如果要使用URL +動詞,則必須在web.config中進行設置。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM