C# 更新Restful WCF的服务引用时出错
我是WCF的新手,已经使用Rest服务在WCF中创建了我的第一个项目。我在WCF服务中创建了2个方法,返回字符串是JSON字符串,然后构建项目。我可以在网上访问WCF服务。我已经创建了一个Windows应用程序,并添加了RESTWCF项目的服务引用。在Windows应用程序中,我可以从WCF服务访问这两种方法。然后我在WCF服务中添加了另一个方法,构建它,然后当我在Windows应用程序中选择update reference时,访问它时遇到问题。一旦我在app.config中更新了它,客户端端点就会消失,我无法访问项目中的服务引用。我不知道问题出在哪里。请找到我的WCF代码 我的接口代码C# 更新Restful WCF的服务引用时出错,c#,.net,wcf,rest,C#,.net,Wcf,Rest,我是WCF的新手,已经使用Rest服务在WCF中创建了我的第一个项目。我在WCF服务中创建了2个方法,返回字符串是JSON字符串,然后构建项目。我可以在网上访问WCF服务。我已经创建了一个Windows应用程序,并添加了RESTWCF项目的服务引用。在Windows应用程序中,我可以从WCF服务访问这两种方法。然后我在WCF服务中添加了另一个方法,构建它,然后当我在Windows应用程序中选择update reference时,访问它时遇到问题。一旦我在app.config中更新了它,客户端端点
[ServiceContract]
public interface IRibbleService
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
string HelloWorld();
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
string AddMessageToHistory(Message message);
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
string GetMessagesFromHistory(string[] participants, string timestamp);
}
[DataContract]
[Serializable]
public class Message
{
[DataMember]
public string ID { get; set; }
[DataMember]
public string DateSent { get; set; }
[DataMember]
public string From { get; set; }
[DataMember]
public string To { get; set; }
[DataMember]
public string Type { get; set; }
[DataMember]
public string Body { get; set; }
[DataMember]
public string Subject { get; set; }
}
我的服务.svc
public class RibbleService
{
public string HelloWorld()
{
return string.Format("Hello World");
}
public string AddMessageToHistory(Message message)
{
return "";
}
public string GetMessagesFromHistory(string[] participants, string timestamp)
{
return "";
}
}
Web.config
<system.serviceModel>
<services>
<service name="MyService" behaviorConfiguration="MyServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="RibbleWCFService.RibbleService" behaviorConfiguration="restBehavior"/>
</service>
</services>
<bindings>
<webHttpBinding>
<binding maxReceivedMessageSize="10485760" maxBufferSize="10485760">
<readerQuotas maxStringContentLength="10485760" />
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
我想知道我在web.config文件中声明的端点是否存在问题。有人能帮我解决这个问题吗
谢谢,
Rajagopalan为什么您的服务RibbleService没有实现该接口?如果导航到MyService.svc,您的服务是否正常工作?你有页面吗?我正在实现RibbleService的接口。忘记正确复制代码了。当我导航到MyService.svc wsdl时,我能够看到声明的方法。问题是,在更新服务后的客户端,当我在.cs代码中引用服务引用时,它不会显示事件,尽管服务引用在项目中。