gpt4 book ai didi

c# - WCF RESTFul 服务 - 404 端点未找到 2 个服务

转载 作者:行者123 更新时间:2023-11-30 16:25:19 25 4
gpt4 key购买 nike

我有两个 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);
}

我要访问的 URL 是: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>

最佳答案

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

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

或者您可以将数据发送到如下地址:http://localhost:49701/Exchange2.svc/InsertReading?memberID=123

如果您现在执行您的请求,它应该返回一个响应 200 OK。

关于c# - WCF RESTFul 服务 - 404 端点未找到 2 个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com