ServiceStack:IService& IRestService

时间:2013-01-04 09:30:57

标签: rest servicestack

我在使用ServiceStack Framework实现Rest Web Services方面取得了一些不错的成绩,但我注意到样本中的一些内容我想了解更多信息。

  1. 我目前已根据IService界面创建了一个服务。使用IRestServiceBase有什么不同?什么时候我应该使用其中一个(我的网络服务有路由所以它的REST已经正确)?

  2. 这两种语法有什么区别?

    MyEvent : RestServiceBase <Event>
    public override object OnGet(...)
    

    MyEvent : IService
    public object Get(...)
    

    我与IService一起使用的是第二个版本,第一个版本比其他版本更“REST”吗?我测试了两个并做了相同的结果。

  3. 我没有在WCF上使用属性[DataMember][DataContract],在哪种情况下我必须使用它? (说实话我真的可以传递添加这些无用的信息)。

  4. 在电影示例中,Interfaces : IRestGetService是什么?当我的班级已经IService时,他们的目的是什么?

1 个答案:

答案 0 :(得分:4)

newer style api使用Service基类。您的服务将像使用RestServiceBase时那样运行,但新的API具有许多附加的好处,这些好处在文档中有描述。

supporting SOAP endpoints时使用[DataMember][DataContract]属性。

IRestGetServicemarked obsolete,您应该转到新款api。在新的API中,interfaces(例如IGetIPost)可用于强制执行正确的方法签名,但不是必需的。