我创建了一个WCF服务,该服务返回一行文本,并使用客户端应用程序对其进行测试,并能够检索文本行。我认为,如果我将整个网址放在一个浏览器中,该浏览器包含返回文本行的方法,它将起作用,但我得到一个400未找到的错误。 例如,主网址是:
http://localhost/DataAdmin/GService.svc?wsdl
因此,当我尝试在浏览器中浏览以下内容时,它不起作用:
http://localhost/DataAdmin/GService.svc/RetrieveData?inputText=test
哦,原因是我试图远程测试它。我希望应用程序能够从另一个服务器/域调用该服务。 我认为它可能与配置文件有关。这是我的服务项目的配置文件。
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
答案 0 :(得分:2)
不是那么简单。 WCF使用SOAP协议,您不能“只是”传递方法名称和Url中的值。
你可以使用Restfull-API,我指的是this awsome post,它以简单明了的方式告诉所有人。