我有一个WCF服务页面只运行WebGets / WebInvokes通过SSL - 它工作得很好我的本地机器(自签名证书)上。 在生产,但是,我可以达到service.svc(和它给了我关于如何使用该消息),但service.svc / AnyRequest返回一个404两种环境在IIS 7.5托管。
我已经启用的跟踪和服务甚至没有拿起任何方法请求(如service.svc / SomeRequest),但它是处理service.svc
就好了。 它还在听https://computername.domain.net/path/service.svc
-这正常吗? 如果它通常是指向https://publicfacing.com/path/service.svc
?
还要注意的是生产服务器托管在IIS中多个站点。
下面是我的web.config的system.serviceModel部分。 该SSLBehave从建议在这里 。
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="SSLBehave">
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="https" port="443"/>
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="UserManagement.ajaxAspNetAjaxBehavior">
<webHttp defaultOutgoingResponseFormat="Json" defaultBodyStyle="Wrapped" />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="UserManagement.ajax" behaviorConfiguration="SSLBehave">
<endpoint address="" behaviorConfiguration="UserManagement.ajaxAspNetAjaxBehavior"
binding="webHttpBinding" bindingConfiguration="TransportSecurity" contract="UserManagement.ajax" />
</service>
</services>
</system.serviceModel>