1

我创建了一个返回一行文本的 WCF 服务,并使用客户端应用程序对其进行了测试,并且能够检索该行文本。我认为如果我将整个 url 放在包含返回文本行的方法的浏览器中,它会起作用,但我得到一个 400 not found 错误。例如主网址是:

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>
4

1 回答 1

2

它不是那么简单。WCF 与 SOAP 协议一起使用,您不能“仅”在 Url 中传递方法名称和值。

你可以使用 Restfull-API,我指的是这篇很棒的文章,它以简单明了的方式讲述了它的所有内容。

于 2012-08-14T19:38:27.787 回答