是否可以在设置服务路由时设置默认操作
问题描述:
我正在评估设置使用WCF反对使用MVC(我目前拥有)的REST系统。我已经运行了它,但希望能够复制我用MVC获得的一些功能。是否可以在设置服务路由时设置默认操作
也就是说,我需要能够指定'默认操作'的WCF等价物。虽然服务路线有一个默认属性,但我还没有找到关于在这里设置什么的文档(假设它甚至在WCF中使用)。
下一步,我可以看到,将写我自己的服务主机工厂,并有一个自定义属性,但这需要我一步到位(可能无论如何),因为我已经使用Autofac DI服务依赖。
是否可以通过WCF使用REST实现默认的“操作合同”?
答
创建使用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" } };
}
的/服务1 /帮助屏幕然后列出了以下内容:
Uri Method Description
GET Service at http://localhost:60888/Service1/
所以默认的“行动”是用空的UriTemplate指定。
答
好吧,我觉得有点愚蠢,在WebGet属性URI模板做什么,我需要的,即:
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json, UriTemplate = "{id}")]
User GetUser(String id);
供应我适合深夜编码。
您还想要禁用WCF的服务帮助页面 - –
2013-04-24 13:09:48