我有一个简单的IIS托管服务,我需要通过没有限制的wsHttpBinding端点和带限制的basicHttpBinding端点来公开它。
我按如下方式配置我的服务:
<service name="Calculator">
<endpoint address="http://localhost/WCFTwoEndpoints/Calculate.svc"
binding="wsHttpBinding" bindingConfiguration="" name="Calculator"
contract="WCFTwoEndpoints.ICalculate" />
</service>
<service name="ThrottledCalculator" behaviorConfiguration ="Throttled">
<endpoint address="http://localhost/WCFTwoEndpoints/ThrottledCalculate.svc"
binding="basicHttpBinding" bindingConfiguration="" name="ThrottledCalculator"
contract="WCFTwoEndpoints.ICalculate" />
</service>
这给了我两个服务端点,我可以单独浏览每个.svc并启动WSDL。问题是,在每种情况下,WSDL都将服务描述为使用basicHttp绑定,我原本期望对Calculate.svc进行wsHttp绑定。
我在下面贴了一段WSDL:
<wsdl:binding name="BasicHttpBinding_ICalculate" type="tns:ICalculate">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Addition">
<soap:operation soapAction="http://tempuri.org/ICalculate/Addition" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Calculate">
<wsdl:port name="BasicHttpBinding_ICalculate" binding="tns:BasicHttpBinding_ICalculate">
<soap:address location="http://rb-t510/WCFTwoEndpoints/ThrottledCalculate.svc"/>
</wsdl:port>
</wsdl:service>
我想我错过了一些明显的东西,但我无法发现它。有什么想法吗?
非常感谢
罗布。