根据下面的代码片段,我有一个WCF Rest服务
[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(UriTemplate="/SaveList/Foos/",Method="POST")]
bool SaveList(List<Foo> myFoos);
}该服务是自托管服务,并使用webHttpBinding公开一个终结点。我有一个客户端控制台应用程序,它包含以下代码片段:
public void Send()
{
var myObj = new Foo{Id=1, Name="Test"};
using (WebChannelFactory<OurService.Services.IOurService> cf = new WebChannelFactory<IOurService>("WebHttpBinding_IService"))
{
IUtranetService channel = cf.CreateChannel();
using (new OperationContextScope(channel as IContextChannel))
{
var status = channel.SaveList(new[] { myObj });
}
}
} 客户端代码抛出一个异常,如下所示:没有端点在"http://localhost:1133/Service/SaveList“上侦听可以接受消息。
我不确定我错在哪里。如果我从服务契约中删除UriTemplate,客户端将返回正确的响应。
任何帮助都将不胜感激。
致敬Ruchitra
发布于 2012-08-09 18:32:04
您的URI模板不正确。您需要将其更改为:
[WebInvoke(UriTemplate="/SaveList/Foos/SaveList",Method="POST")] 它不会自动附加你的方法名。
另供参考,根据我留下的评论,你不需要Method=“帖子”
https://stackoverflow.com/questions/11875999
复制相似问题