我在使用ServiceStack Framework实现Rest Web Services方面取得了一些不错的成绩,但我注意到样本中的一些内容我想了解更多信息。
我目前已根据IService
界面创建了一个服务。使用IRestServiceBase
有什么不同?什么时候我应该使用其中一个(我的网络服务有路由所以它的REST已经正确)?
这两种语法有什么区别?
MyEvent : RestServiceBase <Event>
public override object OnGet(...)
和
MyEvent : IService
public object Get(...)
我与IService
一起使用的是第二个版本,第一个版本比其他版本更“REST”吗?我测试了两个并做了相同的结果。
我没有在WCF上使用属性[DataMember]
或[DataContract]
,在哪种情况下我必须使用它? (说实话我真的可以传递添加这些无用的信息)。
在电影示例中,Interfaces : IRestGetService
是什么?当我的班级已经IService
时,他们的目的是什么?
答案 0 :(得分:4)
newer style api使用Service
基类。您的服务将像使用RestServiceBase时那样运行,但新的API具有许多附加的好处,这些好处在文档中有描述。
supporting SOAP endpoints时使用[DataMember]
和[DataContract]
属性。
IRestGetService
是marked obsolete,您应该转到新款api。在新的API中,interfaces(例如IGet
和IPost
)可用于强制执行正确的方法签名,但不是必需的。