我创建了一个仅在https上运行的测试WCF Web服务。它工作但在wsdl中显示http - 这是正确的吗? 这是我的web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="MyNamespace.WebServicesClass">
<endpoint address ="" binding ="wsHttpBinding" bindingConfiguration="TransportSecurity" contract ="ITestWebService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
这就是我在IE中看到的
wsdl:service name="WebServicesClass">
wsdl:port name="**BasicHttpBinding**_ITestWebService" binding="tns:**BasicHttpBinding**_ITestWebService"
soap:address location="**http**://xxxxxxx.com/TestWebService.svc"/
/wsdl:port
/wsdl:service
为什么http和为什么是BasicHttpBinding,当我在web.config中没有这个时?