我已经设置了一个wcf服务,当我浏览.svc文件时,我会看到一个屏幕,上面写着......
您已创建了一项服务。
所以我知道该服务正在成功运行。但是我查看了配置,但实际上并没有地址。
<system.serviceModel>
<services>
<service behaviorConfiguration="CountryProvinceBehavior" name="CountryProvinceWCFService">
<endpoint address="" binding="webHttpBinding" contract="ICountryProvinceWCFService" behaviorConfiguration="CountryProvinceBehavior"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="CountryProvinceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="CountryProvinceBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
然后我写了一个控制台应用来测试服务。
我从浏览器中获取了thr url并从控制台应用程序中添加了一个“服务引用”,我希望该项目能够在我的配置文件中创建enpoint defintions。然后当我创建一个客户端时,我可以加载其中一个配置,但它们不存在......
答案 0 :(得分:0)
您不必 指定配置中的地址,但在这种情况下,您确实指定了端点的地址(“”)。这意味着WCF将其用作相对于服务基地址的地址。如果服务托管在IIS中,那么它将是.svc文件的地址。如果服务是自托管的(即直接使用ServiceHost
),则地址将是传递给ServiceHost
构造函数的地址。