<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    WCF傳較大數據 例子說明

    在從客戶端向WCF服務端傳送較大數據(>65535B)的時候, 客戶端會報錯。什么遠程服務器沒反應之類的。

    問題是我實際發送的數據是剛剛從WCF服務端接收過來的,一來一去,數據量差別并不大。

    然后發現,在客戶端和服務端實際使用的是不同的配置,對于客戶端,在添加ServiceReference時自動生成的ServiceReferences.ClientConfig文件中system.serviceModel節下有這樣的設置:

    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_WcfService" maxBufferSize="2147483647"
                maxReceivedMessageSize="2147483647">
                <security mode="None" />
            </binding>
        </basicHttpBinding>
    </bindings>

    然后在Client節里應用Binding Configuration:

    <client>
                <endpoint address="http://localhost:22000/Service/WcfService.svc"
                    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_WcfService"
                    contract="WcfServiceReference.WcfService" name="BasicHttpBinding_WcfService" />

     

    </client>

    在Binding里指定了最大緩存字節數和最大接受字節數,相當于2G的大小!除非傳一整套連續劇,一般是夠用了。

    而在服務端,Web.config文件里,Bindings節是空的,而Service也沒有指定bindingConfiguration屬性,那么它們采用的就是默認的65535的大小。

    問題找到,解決就比較容易了:

    在Bindings節添加新的Binding設置,TB指定最大接受數據:

    <bindings>
        <basicHttpBinding>
            <binding name="LargeDataTransferServicesBinding" maxReceivedMessageSize="2147483647"
      messageEncoding="Text" transferMode="Streamed" sendTimeout="00:10:00" />
        </basicHttpBinding>
    </bindings>

    之后給相應的Service指定bindingConfiguration屬性:

    <service behaviorConfiguration="Server.Service.WcfServiceBehavior"
      name="Server.Service.WcfService">
      <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeDataTransferServicesBinding" contract="Server.Service.WcfService" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>

    這樣就可以從客戶端發送足夠大的數據了。

    P.S.:

    asp.net默認只能傳4M的文件,所以盡管設定了Wcf兩端的配置,還是超不出.net的限定,所以如果要傳輸大文件,還需要在System.Web節下加上

        <httpRuntime maxRequestLength="102400" />
    這里的單位是KB,這樣就可以傳100M的文件了。當然,這么大的文件,最好還是分段傳輸比較好。

    posted on 2012-06-26 16:20 chen11-1 閱讀(1125) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: gogo免费在线观看| 中文字幕无码播放免费| 国产免费黄色无码视频| a毛片在线看片免费| 91久久精品国产免费一区| 免费91最新地址永久入口 | 亚洲人成国产精品无码| 国产亚洲综合网曝门系列| 精品久久久久久亚洲| 99亚偷拍自图区亚洲| 国产va免费精品| 免费视频淫片aa毛片| 精品亚洲成α人无码成α在线观看 | 在线观看亚洲网站| 一区二区三区在线免费观看视频| 久久精品免费观看| 亚洲精品熟女国产| 亚洲性无码av在线| 牛牛在线精品免费视频观看| 免费毛片在线看不用播放器| 一二三四免费观看在线电影 | 国产无遮挡无码视频免费软件| 亚洲精品WWW久久久久久 | 免费视频成人片在线观看| 亚洲小视频在线观看| 日韩免费视频观看| 特级毛片在线大全免费播放| 亚洲国产一区二区三区青草影视| 午夜福利不卡片在线播放免费| 牛牛在线精品免费视频观看| 亚洲卡一卡2卡三卡4卡无卡三| 全免费a级毛片免费看不卡| 国产精品无码免费专区午夜| 亚洲国产日韩在线| 日本一线a视频免费观看| 亚洲国产精品嫩草影院| 一级毛片直播亚洲| 巨胸喷奶水视频www免费视频| 亚洲视频2020| 大香人蕉免费视频75| A级毛片成人网站免费看|