程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 關於wcf跨機器訪問的問題

關於wcf跨機器訪問的問題

編輯:關於.NET

在wcf跨機器的訪問中遇到了各種無法訪問的問題,本人也是在通過個人解決問題的基礎上發表一下自己的經驗,如果還有其他方面可能影響wcf跨機器的問題,還希望大家多多發言!

好了廢話不多說了,正文如下:

1、設置好wcf的服務端security mode要設置為None,如

<services>
      <service behaviorConfiguration="metadataBehavior" name="Services.CalculatorService">
        <endpoint address="http://192.168.1.108:9999/calculatorservice" binding="wsHttpBinding"
            bindingConfiguration="NoneSecurity" contract="Contracts.ICalculator"  />
      </service>
    </services>
    <bindings>
      <wsHttpBinding>
        <binding name="NoneSecurity">
          <!--maxBufferPoolSize="12000000" maxReceivedMessageSize="12000000" useDefaultWebProxy="false">
          <readerQuotas maxStringContentLength="12000000" maxArrayLength="12000000"/>-->
          <security mode="None"/>
        </binding>
      </wsHttpBinding>
    </bindings>

這裡要注意的是bindingConfiguration="NoneSecurity",<binding name="NoneSecurity">,<security mode="None"/>這三個地方,一定要設好。

然後是客戶端中的security mode的設置,如

<binding name="WSHttpBinding_CalculatorService" closeTimeout="00:01:00"
                   openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                   bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                   maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                   messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                   allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"
              enabled="false" />
          <security mode="None">
            <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true" />
          </security>
        </binding>

這裡要注意的是<security mode="None">這裡也要設置為None,這樣在程序運行的時候才不會粗;

最後就是一定要注意把服務端的防火牆關掉,不然也無法卡機器訪問,好了就這些,如果還有新的可能導致該問題的情況,還請大家發言!

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved