Tuesday, February 15, 2011

WCF NamedPipeBinding in AppFabric



(1) Create anApp under default site running ASP.Net 4.0 AppPool
( net.pipe cannot have port number)
(2) Setting Binding for defulat site and App Advanced Setting to Enable net.pipe protocol

(3)Create a WCP Lib project by VS.net 2010 and publish into the App
(if svc file are missing, manually add one. It should be there if protocol include wsHttp*)
(4) VS.net 2001 ->Tool->WCF Config editor to edit App Web Config and add net.pipe endpoint and mexnetpipe endpoint. Note that Address for net.pipe can be empty but must set up mex for net.pipe.
(5) IIS Manager -> Manage WCF -> Config --> auto-start enabled

(6) svcutil net.pipe://localhost/TestNP/WcfServiceLibrary6.Service1.svc

(7) Client Code:
Service1Client c = new Service1Client("NetNamedPipeBinding_IService1");
c.Open();
string s= c.GetData(123));
c.Close();


<endpoint binding="netNamedPipeBinding" contract="WcfServiceLibrary6.IService1" />
<endpoint address="mex" binding="mexNamedPipeBinding" bindingConfiguration="" contract="IMetadataExchange" />
Note: binding config is optional
<bindings>
<netNamedPipeBinding>
<binding name="binding1">
<security mode="None" />
</binding>
</netNamedPipeBinding>
</bindings>

No comments: