WCF RESTFul服务 - 404找不到具有2个服务的端点

时间:2012-04-09 08:47:16

标签: c# wcf web-services rest

我有两个WCF服务Exchange1.svc和Exchange2.svc都设置为RESTful JSON消费者。 Exchange1.svc运行正常,但是当我尝试发布到Exchange2.svc时,我收到了一条未找到端点的消息。

我做错了什么?

我的IExchange2界面是:

[ServiceContract]
public interface IExchange2
{
    [System.ServiceModel.OperationContract(Name = "InsertReading")]
    [WebInvoke(UriTemplate = "/InsertReading?memberID={memberID}", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
    void InsertReading(string memberID);
}

我想要点击的网址是:http://localhost:49701/Exchange2.svc/DiaInsertReading?memberID=6519548

我的配置是:

<system.serviceModel>
<behaviors>
    <endpointBehaviors>
        <behavior name="MyNamespace.Exchange1Behavior">
            <webHttp/>
        </behavior>
        <behavior name="MyNamespace.Exchange2Behavior">
            <webHttp/>
        </behavior>             
    </endpointBehaviors>
</behaviors>
<services>
    <service name="MyNamespace.Exchange1">
        <endpoint address="" binding="webHttpBinding" behaviorConfiguration="MyNamespace.Exchange1Behavior" contract="MyNamespace.IExchange1" />
    </service>
    <service name="MyNamespace.Exchange2">
        <endpoint address="" binding="webHttpBinding" behaviorConfiguration="MyNamespace.Exchange2Behavior" contract="MyNamespace.IExchange2" />
    </service></services></system.serviceModel>

2 个答案:

答案 0 :(得分:2)

我已经编辑了我的帖子,因为答案没有帮助。由于您使用svc在IIS中托管,因此您不需要像我在之前的回答中所说的那样在绑定中设置地址。 baseaddress将是您服务器的位置。例如:http://localhost:49701/Exchange2.svc。如果您点击此地址,则应访问WCF服务网页。

由于您使用的是POST方法,因此您可以在请求正文中发送数据。如果你安装了小提琴手,你可以在作曲家中设置发布和发送到http://localhost:49701/Exchange2.svc/InsertReading的方法,如果这是你的服务地址。 在请求正文的正文中,您将{ memberID:"123" }更改为您想要发送给您服务的任何值。

或者您可以在地址中发送数据,例如:http://localhost:49701/Exchange2.svc/InsertReading?memberID=123

如果您现在执行请求,则应该返回200 OK。

答案 1 :(得分:1)

web.config 文件中指定您的终端

<service name="MyNamespace.Exchange2">
<endpoint address="Exchange2" binding="webHttpBinding" behaviorConfiguration="MyNamespace.Exchange2Behavior" contract="MyNamespace.IExchange2" />

然后,在您的网址中将此结束点添加为:

http://localhost:49071/Exchange2/DiaInsertReading?memberID=6519548