初始化
public class BuddhaWCFService
{
private Binding binding;
private EndpointAddress address;
public BuddhaWCFService(string url)
{
address = new EndpointAddress(url);
BasicHttpBinding ws = new BasicHttpBinding();
ws.MaxBufferSize = 2147483647;
ws.MaxBufferPoolSize = 2147483647;
ws.MaxReceivedMessageSize = 2147483647;
ws.CloseTimeout = new TimeSpan(0, 30, 0);//ws.ReaderQuotas.MaxStringContentLength = 2147483647;
ws.OpenTimeout = new TimeSpan(0, 30, 0);
ws.ReceiveTimeout = new TimeSpan(0, 30, 0);
ws.SendTimeout = new TimeSpan(0, 30, 0);
binding = ws;
}
public T CreatedWcf<T>()
{
ChannelFactory<T> factory = new ChannelFactory<T>(binding, address);
return factory.CreateChannel();
}
}
接口
[ServiceContract]
public interface IDoubleService
{
[System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IBuddhaWCFService/Getsec", ReplyAction = "http://tempuri.org/IBuddhaWCFService/GetsecResponse")]
string Getsec(string secstr);
}
调用部份
private void button1_Click(object sender, EventArgs e)
{
string uri="http://192.168.8.99:8080/BuddhaService/";
BuddhaWCFService server = new BuddhaWCFService("http://192.168.8.99:8080/BuddhaService/");
IDoubleService b = server.CreatedWcf<IDoubleService>();
string ss = b.Getsec("henfe");
MessageBox.Show(ss.ToString());
}
记得引用类:
using System.ServiceModel;
using System.ServiceModel.Channels;