我在HTTPS上运行生产(.NET 4.0,IIS 7.0)的现有ASP.NET Web应用程序(我们称之为https://myapp.com)。现在需要向应用程序添加新的WCF服务,该服务将由位于不同服务器上的桌面应用程序使用。这就是我所做的:
web.config
中配置我的网络服务,如下所示:配置:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="myService" behaviorConfiguration="myBehavior">
<endpoint address="https://myapp.com/Webservices/myService.svc" binding="basicHttpBinding"
bindingConfiguration="TransportSecurity" contract="myService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
在我看来,我已经做了所有必要的事情。当我在浏览器中运行URL https://myapp.com/WebServices/myService.svc
时,我得到'资源未找到'。为了仔细检查,我创建了一个测试控制台应用程序并尝试使用相同的URL“添加服务引用”,但它无法发现它。
我做错了什么?我是WCF的新手,并且长期坚持这个问题。