<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 閱讀(1122) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 国产中文在线亚洲精品官网| 亚洲成人国产精品| 91情国产l精品国产亚洲区| aa毛片免费全部播放完整| 亚洲午夜福利AV一区二区无码| yellow免费网站| 亚洲桃色AV无码| 亚洲免费在线视频| 亚洲视频免费一区| 国产精品成人免费视频网站京东| 亚洲第一精品电影网| 免费观看的毛片大全| 亚洲国产AV一区二区三区四区| 日韩一级免费视频| caoporn国产精品免费| 亚洲AV无一区二区三区久久| 毛片无码免费无码播放| 亚洲一级毛片在线观| 日韩人妻无码免费视频一区二区三区| 黄色网址在线免费观看| 在线亚洲午夜理论AV大片| 久久免费精品一区二区| 亚洲精品在线免费看| 在线观看免费大黄网站| 国产裸体美女永久免费无遮挡| 亚洲AV无码专区国产乱码4SE| 日本免费xxxx| 黄人成a动漫片免费网站| 亚洲成A∨人片在线观看不卡| 在免费jizzjizz在线播| 疯狂做受xxxx高潮视频免费| 国产亚洲日韩一区二区三区| 18pao国产成视频永久免费| 亚洲Av永久无码精品黑人| 亚洲人色婷婷成人网站在线观看| 亚洲美女免费视频| 四虎一区二区成人免费影院网址 | 日韩在线免费播放| 免费萌白酱国产一区二区三区 | 日本亚洲欧洲免费天堂午夜看片女人员| 最近中文字幕免费完整|