WCF返回值適用場景分析
WCF開發(fā)平臺的出現(xiàn),在一定程度上改變了開發(fā)人員的變成習慣。我們接下來會為大家介紹一下有關WCF返回值的相關應用方式,以此來幫助大家理解這一工具的應用方式,從而幫助我們在開發(fā)中獲得幫助。#t#
WCF返回值集成開發(fā)環(huán)境包括許多新的和改進的用于提高工作效率的功能。IDE 還進行了重新設計,從而向開發(fā)人員提供對.NET Framework 組件的直接訪問。下面就這個問題進行解釋說明。
保留要進行流處理的數(shù)據(jù)的參數(shù)必須是方法中的唯一參數(shù)。如:要對輸入消息進行處理,則該操作必須正好具有一個輸入?yún)?shù)。同樣,如果要對輸出消息進行流處理,則該操作鼻息正好具有一個輸出參數(shù)或一個WCF返回值。
參數(shù)和返回值的類型中至少有一個必須是Stream,Message或IXmlSerializable.
適用場景
- [ServiceContract]
- interface IMyContract
- {
- [OperationContract]
- Stream StreamReply1( );
- [OperationContract]
- void StreamReply2(out Stream stream);
- [OperationContract]
- void StreamRequest(Stream stream);
- [OperationContract(IsOneWay = true)]
- void OneWayStream(Stream stream);
- }
流處理機制在特定的綁定協(xié)議中才能使用,目前是BasicHttpBinding,NetTcpBinding,和NetNamedPipeBinding支持流處理模型。但是在默認情況下,WCF禁止流處理模式。
流傳輸模式使用TransferMode進行配置,TransferMode為枚舉類型:
- public enum TransferMode
- {
- Buffered = 0 ,Streamed =1,StreamedRequest =2,StreamedResponse =3
- }
WCF返回值配置文件中定義流傳輸模式:
- < basicHttpBinding>
- < binding name="basicHttpBinding" receiveTimeout="10:10:10"
transferMode="Streamed" maxReceivedMessageSize="200000" />- < /basicHttpBinding> < netTcpBinding>
- < binding name="netTcpBinding" receiveTimeout="10:10:10"
transferMode="Streamed