我有一个 wcf 服务,我尝试使用 svcutil 和向客户端测试项目添加服务引用来添加该服务。在这两种情况下,都不会创建新的配置文件,随后客户端测试由于看不到终结点而无法运行。为什么会这样,这是我的 WCF 服务的 web.config 文件。
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<bindings>
<webHttpBinding>
<binding name="webHttpBinding" crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="webHttpBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="webHttpBehavior" name="WcfInstanceRules2.Service1">
<endpoint address=""
binding="webHttpBinding" bindingConfiguration="webHttpBinding"
contract="WcfInstanceRules2.IService1"
behaviorConfiguration="web"/>
</service>
</services>
如果你正在使用webHttpBinding,那么你正在编写一个RESTful服务,对吧?REST服务不像其他基于SOAP的服务那样通过Visual studio或SvcUtil"消费".exe例如,使用基于SOAP的绑定,如basicHttpBinding或wsHttpBinding等)。您可以通过从jQuery之类的东西调用它来"消费"服务:
$.getJSON("Service1.svc/uriTemplateNameHere", { param: myParameter },
function (result) {
// do something
});
你能发布你的 WCF 代码吗?