纯代码实现WCF服务创建

用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();
}

运行后结果如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值