Monday, 19 January 2015

Call WCF service method from the C# Library

App.Config of Library

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://localhost:1157/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService1" contract="PrcoessService.IService1"
                name="BasicHttpBinding_IService1" />
        </client>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IService1" />
            </basicHttpBinding>
        </bindings>
    </system.serviceModel>
</configuration>



TestWCFSevice.cs

public TestWCFSevice()
{
  int _returnValue=RunServiceMethod(10);
}

Note :Change the end point address and end point name in the below method with your respected information

public int RunServiceMethod(int pValue)
{
 BasicHttpBinding binding = new BasicHttpBinding();
 binding.Name = "BasicHttpBinding_IService1";
 binding.CloseTimeout = System.TimeSpan.Parse("00:01:00");

 binding.OpenTimeout = System.TimeSpan.Parse("00:01:00");
 binding.ReceiveTimeout = System.TimeSpan.Parse("00:10:00");
 binding.SendTimeout = System.TimeSpan.Parse("00:01:00");

 binding.AllowCookies = false;
 binding.BypassProxyOnLocal = false;
 binding.HostNameComparisonMode = System.ServiceModel.HostNameComparisonMode.StrongWildcard;

 binding.MaxBufferSize = 65536;
 binding.MaxBufferPoolSize = 524288;
 binding.MaxReceivedMessageSize = 65536;

 binding.MessageEncoding = System.ServiceModel.WSMessageEncoding.Text;
 binding.TextEncoding = System.Text.Encoding.UTF8;
 binding.TransferMode = System.ServiceModel.TransferMode.Buffered;

 binding.UseDefaultWebProxy = true;
 binding.ReaderQuotas.MaxDepth = 32;
 binding.ReaderQuotas.MaxStringContentLength = 8192;

 binding.ReaderQuotas.MaxArrayLength = 16384;
 binding.ReaderQuotas.MaxBytesPerRead = 4096;
 binding.ReaderQuotas.MaxNameTableCharCount = 16384;

 binding.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.None;
 binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
 binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;

 binding.Security.Transport.Realm = "";
 binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
 binding.Security.Message.AlgorithmSuite = System.ServiceModel.Security.SecurityAlgorithmSuite.Default;


EndpointAddress endpoint = new EndpointAddress("http://localhost:1157/Service1.svc");// Provide your hosted service Address 
WCFService.Service1Client wcfService = new WCFService.Service1Client(binding, endpoint);

 int _activeValue = wcfService.GetData(pValue); // Call WCF Method
 return _activeValue;
}