我创建了简单的WCF服务,并将其端点配置为如下所示。
<services>
<service name="AsynchWCFService.MathOperation">
<endpoint address="MathsOperation" binding="wsHttpBinding" contract="AsynchWCFService.IMathOperation">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/OperationService/" />
</baseAddresses>
</host>
</service>
</services>
我已经在一个独立的exe中托管了这个WCF服务。我希望我的服务可以在以下地址访问。
http://localhost:8080/OperationService/MathsOperation/
但可以http://localhost:8080/OperationService/
我想使用http://localhost:8080/OperationService/MathsOperation/
链接访问服务。任何人都可以帮助我吗?
答案 0 :(得分:2)
我认为您的服务不在http://localhost:8080/OperationService
。你看到的只有一个由WCF创建的HTML页面,它描述了可用的mex
端点或WSDL的路径。
这些mex端点描述了您的WCF服务的ABC,其中A = address =&gt; http://localhost:8080/OperationService/MathsOperation/
。潜在客户通过查询mex端点了解您的服务URL。
默认情况下,此HTML页面将显示在您的基本地址。但是,您可以使用serviceDebug
行为禁用此页面或将其设置为显示在某个不同的网址上。
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDebug httpHelpPageUrl="http://localhost:8080/OperationService/myhelppage"
/> <!-- use httpHelpPageEnabled="false" to disable the page -->
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
不幸的是,我认为您不能将httpHelpPageUrl
设置为与服务端点相同的地址。