设置服务路径时是否可以设置默认操作

时间:2010-11-16 09:12:35

标签: wcf rest

我正在评估使用WCF设置REST系统以防止使用MVC(我现在拥有)。我已经运行但希望能够复制一些我用MVC获得的功能。

也就是说,我需要能够指定WCF等效的'默认动作'。虽然服务路由有一个默认属性,但是我没有找到任何关于在这里设置什么的文档(假设它甚至在WCF中使用)。

我可以看到,下一步是编写我自己的服务主机工厂并拥有自定义属性,但这需要我走一步(可能无论如何),因为我已经使用Autofac来消除服务依赖性

REST是否可以通过WCF实现默认的“操作合同”?

2 个答案:

答案 0 :(得分:1)

使用REST 4.0模板创建新项目包括以下内容:

[WebGet(UriTemplate = "")]
public List<SampleItem> GetCollection()
{
 // TODO: Replace the current implementation to return a collection of SampleItem instances
 return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } };
}

/ service1 / help屏幕然后列出以下内容:

Uri Method                                       Description

GET Service at http://localhost:60888/Service1/

因此默认的'action'是使用空的UriTemplate指定的。

答案 1 :(得分:0)

好吧,我觉得有点愚蠢,因为WebGet属性中的URI模板可以满足我的需要,即:

[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json, UriTemplate = "{id}")]
User GetUser(String id);

为我提供深夜编码服务。