Message Streaming, including REST
<bindings>
<webHttpBinding>
<binding name="strmREST" transferMode="Streamed" maxReceivedMessageSize="67108864"/>
</webHttpBinding>
<netTcpBinding>
<binding name="strm2" transferMode="Streamed" maxReceivedMessageSize="67108864"/>
</netTcpBinding>
<netNamedPipeBinding>
<binding name="strm3" transferMode="Buffered" maxReceivedMessageSize="67108864"/>
</netNamedPipeBinding>
<customBinding>
<binding name="strm4">
<namedPipeTransport transferMode="Streamed"/>
<textMessageEncoding messageVersion="Soap2WSAddress" />
</binding>
</customBinding>
</bindings>
</system.serviceModel>
Inject Address Header
<services>
<service name="Wcf_Tryout.Service1">
<endpoint>
<headers>
<Member>Header1</Member>
</headers>
</endpoint>
</service>
</services>
<system.serviceModel>
<client>
<endpoint address ="" binding="b1" contract="" >
<headers>
<Member>Header1</Member>
</headers>
</endpoint>
</client>
var b= new EndpointAddressBuilder(new EndpointAddress("tcp://localhost:8080/s"));
AddressHeader h = AddressHeader.CreateAddressHeader("header1");
b.Headers.Add(h);
EndpointAddress ea= b.ToEndpointAddress();
MessageHeader<string> mh= new MessageHeader<string>("header1");
OperationContext.Current.OutgoingMessageHeaders.Add(mh.GetUntypedHeader("id","http://ns"));
MessageHeaderInfo inInfo = OperationContext.Current.IncomingMessageHeaders[0];
Restful WCF Contract means WebGet/WebInvoke
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate = "users/{userName}/bookmark?tag={Tag}")]
string GetData(string userName,string tag);
[OperationContract]
[WebInvoke(Method = "Post", UriTemplate = "users/{username}/bookmarks/{id}")]
void SetData(string userName, string id, User data);
}
Thursday, February 25, 2016
Some WCF messaging scenarios
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment