1、引用:标签:Console,--,double,result,WriteLine,WCF,n1,n2,服务端 From: https://blog.51cto.com/u_15870687/5837403
using System.ServiceModel;
using System.ServiceModel.Description;2、申明接口
///这是接口
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface MyJK
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
3、实现接口
//实现契约和接口
public class AABB : MyJK
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
Console.WriteLine("Received Add({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Subtract(double n1, double n2)
{
double result = n1 - n2;
Console.WriteLine("Received Subtract({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Multiply(double n1, double n2)
{
double result = n1 * n2;
Console.WriteLine("Received Multiply({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
public double Divide(double n1, double n2)
{
double result = n1 / n2;
Console.WriteLine("Received Divide({0},{1})", n1, n2);
Console.WriteLine("Return: {0}", result);
return result;
}
}4、定义服务、启动服务
Uri baseAddress = new Uri("http://localhost:8989/aaa/"); //随便写
ServiceHost serviceHost = new ServiceHost(typeof(AABB), baseAddress); serviceHost.AddServiceEndpoint(typeof(MyJK), new WSHttpBinding(), "BBCCDD");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(smb); serviceHost.Open();