2013-03-24 56 views
0

我有一个WCF服务与WSDualHttpBinding,该服务在本地正常工作,当我在IIS上托管它不起作用时,首先它要求凭据登录没有设置身份验证绑定,但是我把他的安全模式设置为none,现在当我从客户端发出请求时,它只是等待等待并等待响应并超时。如何在互联网上承载WCF双工服务

任何建议或例子将不胜感激。

<system.serviceModel> 
    <services> 
     <service name ="NewEngine.Engine" behaviorConfiguration ="serviceBehaviourSoap" > 
     <endpoint name ="duplexendpoint" address ="" binding ="wsDualHttpBinding" contract ="NewEngine.IEngine" bindingConfiguration="wsDualBinding"/> 
     <endpoint name ="MetaDataTcpEndpoint" address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="serviceBehaviourSoap"> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <bindings> 
     <wsDualHttpBinding> 
     <binding name="wsDualBinding" closeTimeout="00:00:05" openTimeout="00:00:05" receiveTimeout="00:10:00" sendTimeout="00:00:05" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
       maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
      <reliableSession ordered="true" inactivityTimeout="00:10:00" /> 
      <security mode="None" > 
      <message clientCredentialType="None"/> 
      </security> 
     </binding> 
     </wsDualHttpBinding> 
    </bindings> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
+0

“本地”和IIS似乎是两个不同的东西给你,你有没有尝试将它托管在你的PC *在IIS *中找到问题? – nvoigt 2013-03-24 11:36:18

+0

发布您的配置将有所帮助。 – christiandev 2013-03-24 11:44:20

+0

@nvoigt是它可以在我们的开发服务器IIS上运行,但只要我在公司网络外部署,我就面临问题 – 2013-03-24 11:50:17

回答

0

上周我遇到了同样的问题。我删除了这一行< message clientCredentialType =“None”/>它运行良好。你可以试试