用VS创建一个控制台项目,然后增加一个接口(IStockService)和一个类(StockService)。
[ServiceContract]
public interface IStockService
{
[OperationContract]
double GetPrice(string ticler);
}
--StockService继承接口并实现接口方法
class StockService : IStockService
{
public double GetPrice(string ticler)
{
return 3.14;
}
}
最后在main方法中完成服务的ABC以及端点的定义。
/// <summary>
/// 服务ABC
/// A是地址,在哪里,本例中使用http://localhost:8000/WCFGetPrice
/// B是绑定,怎么做,本例中使用BasicHttpBinding
/// C是契约,内容,是有关服务响应的操作及进出消息的格式,本例中使用StockService
/// 本例不使用配置文件
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
ServiceHost serviceHost = new ServiceHost(
typeof(StockService),
new Uri("http://localhost:8000/WCFGetPrice"));
serviceHost.AddServiceEndpoint(typeof(IStockService), new BasicHttpBinding(), "");
//暴露服务MEX端点
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior
{
HttpGetEnabled = true
};
serviceHost.Description.Behaviors.Add(behavior);
serviceHost.AddServiceEndpoint(
typeof(IMetadataExchange),
MetadataExchangeBindings.CreateMexHttpBinding(),
"mex"
);
serviceHost.Open();
Console.WriteLine("服务启动成功");
Console.ReadKey();
}
运行后结果如下图: