1:分別添加:控制臺(tái)應(yīng)用程序:Hosting(宿主)、控制臺(tái)應(yīng)用程序:Client(客戶端)、類(lèi)庫(kù):Service (服務(wù))、類(lèi)庫(kù):Contract(契約)
2:添加契約:
右擊contract項(xiàng)目,添加接口 ICalcultor
3:添加服務(wù)
右擊Service項(xiàng)目,添加類(lèi):Calcutor
public class CalcultorService : ICalculator { public double Add(double x, double y) { return x + y; } public double Subtract(double x, double y) { return x - y; } public double Multiply(double x, double y) { return x * y; } public double Divide(double x, double y) { return x / y; } }4:配置Hosting(宿主)
編程方式配置:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; using WCFContract; using WCFService; namespace Host3_26 { class Program { static void Main(string[] args) { using (ServiceHost host = new ServiceHost(typeof(CalcultorService))) { host.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), "http://127.0.0.1:9999/CalcultorService"); if (host.Description.Behaviors.Find管理方式配置宿主:
5:發(fā)布宿主
6:客戶端添加服務(wù)
在宿主已經(jīng)運(yùn)行的情況下,右擊客戶端添加服務(wù),路徑:
http://127.0.0.1:9999/CalcultorService/metadata//客戶端調(diào)用服務(wù)方法2:1:引用契約 using WCFContract;
2:修改配置文件:
binding="wsHttpBinding"
contract="WCFContract.ICalculator"
name="defaultEndpoint">
3:開(kāi)始調(diào)用
using (ChannelFactory channe = new ChannelFactory("defaultEndpoint"))
{
WCFContract.ICalculator ca= channe.CreateChannel();
Console.WriteLine(ca.Add(1, 2));
};