我在项目中创建了WCF服务。现在使用Jquery我成功地能够使用服务,但是当我尝试在Windows应用程序中添加服务作为Web引用时,我无法调用它。如果我创建简单的服务,我可以在Windows应用程序中成功调用,但是如果我做了更改来调用jquery服务,我通过Google搜索找到了这个服务。我不知道我在哪里失踪。
下面是代码,我已经完成了。 这是WCF的接口。
[ServiceContract]
public interface ITestService
{
[OperationContract]
void DoWork();
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
string HelloWorld();
}
类调用接口
public class TestService : ITestService
{
public void DoWork()
{
}
public string HelloWorld()
{
return "Hello World";
}
}
}
这是应用程序的Web配置。
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="TestWCFBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="TestWCFBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />-->
<services>
<service name="WebAppWithWCF.TestService" behaviorConfiguration="TestWCFBehavior">
<endpoint address="" binding="webHttpBinding" contract="WebAppWithWCF.ITestService" behaviorConfiguration="TestWCFBehavior"/>
</service>
</services>
</system.serviceModel>
我做了一些尝试和错误,但直到现在都找不到方法......
请帮助......如果我方遗漏任何信息,请告诉我。
答案 0 :(得分:2)
webHttpBinding不会公开元数据,因此您无法添加对它的引用。
基本上,添加服务引用功能会根据已知的服务(通过元数据 / WDSL公开)生成代理和类。
使用wsHttpBinding或basicHttpBinding的服务都会公开您的服务的元数据。它们通常在您构建.NET到.NET客户端 - 服务器应用程序时使用。
实施两种绑定:WCF Service with webHttpBinding-basicHttpBinding-wcHttpBinding