我创建了一个WCF服务,其端点在IIS中托管,带有.svc文件。当我点击终点时,我得到:
所以看起来终点已经结束了。
我创建了服务合同
[ServiceContract]
public interface ImyService
{
[OperationContract]
String GetSearchResults();
}
并创建了一个类
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class myService : ImyService
{
public String GetSearchResults()
{
return "Hello World";
}
}
如何在浏览器中调用GetSearchResults方法?
修改
绑定是:
<bindings>
<basicHttpBinding>
<binding name="customBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
答案 0 :(得分:3)
您无法在浏览器中测试WCF服务的结果。您可以使用WCF测试客户端对其进行测试。在IDE中,只需打开.svc或.svc.cs文件,然后单击F5即可启动WCF测试客户端。
注意:您的项目类型是WCF服务应用程序项目
还在web.config中设置以下内容以启用元数据交换。
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
答案 1 :(得分:1)
为什么不启用服务元数据生成?完成后,您可以在Visual Studio中右键单击您的服务,然后选择“浏览...”。然后,VS将打开您的浏览器到正确的URL,您可以单击要执行的方法的名称。然后,如果启用了HTTP GET,那么您将看到调用方法的正确URL(因此您不使用SOAP)。
否则,您将不得不使用WCF测试环境,例如WCF Storm:http://www.wcfstorm.com/wcf/home.aspx
答案 2 :(得分:0)
只有在使用webHttpBinding时才可以从浏览器执行此操作。你可以做的是使用它所在的WcfTestClient工具: “C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ WcfTestClient.exe”
此外,您的元数据已被禁用,因此要使用WcfTestClient,您需要在webservice app.config
中将httpGetEnabled设置为true。答案 3 :(得分:0)
最好的是wcf storm。在测试wcf方面它真的很强大。