我一直在尝试创建一个简单的服务,允许通过WCF将消息记录到远程服务器上,这一切都正常,直到我将服务发布到使用HTTPS的实时环境。
经过一番搜索后,我发现我需要更改ServiceConfig以考虑不同的协议。我使用了这两篇文章的组合:
对我的配置进行了推荐的更改后,我似乎处于可以在VS2010中将实时服务添加为WCF参考的状态,但是当我使用IE浏览服务或mex地址时,我'我一直收到“HTTP 400错误请求”错误。
在使用服务方面,我似乎可以成功运行它,但是mex只是不想通过IE工作。
服务本身托管在运行IIS 6.0的Windows Server 2003 R2 Standard Edition SP2上,没有负载平衡。
我现在真的很茫然,我花了3-4天时间搞乱这个但我似乎无法取得任何进展。所以任何帮助都将不胜感激。
请参阅下面的服务器服务配置:
<system.serviceModel>
<services>
<service name="mycorp.Callback.SecPayService" behaviorConfiguration="mycorp.Callback.SecPayServiceBehavior">
<endpoint address="https://myserver.co.uk/SecPay/SecPayService.svc"
binding="wsHttpBinding" bindingConfiguration="TransportBinding"
contract="mycorp.Callback.ISecPayService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mycorp.Callback.SecPayServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="TransportBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
答案 0 :(得分:2)
如果您在IIS中托管服务,那么只需将端点元素地址值设置为空字符串,因为端点的地址由IIS分配