在Windows服务中托管WCF服务

时间:2012-02-14 14:04:37

标签: wcf windows-services

我已经建立了一个WCF服务来连接数据库并对用户进行身份验证,然后我在考虑如何托管我的服务,而IIS在我看来并不是一个好的候选者,因为我的服务将由小型本地网络,所以我想出来在服务器上运行的Windows服务上托管我的服务,所以我的问题是这个实践是否会带来与性能或任何其他参数相关的错误结果?,这是我的Windows服务的代码:

public partial class Service1 : ServiceBase
{
    private ServiceHost _host;
    public Service1()
    {
        InitializeComponent();
    }

    protected override void OnStart(string[] args)
    {
        _host = new ServiceHost(typeof(Cosmos.Service.Service1));
        var binding = new WSHttpBinding();
        _host.AddServiceEndpoint(typeof (IService1), binding, "http://localhost:4444");
        _host.Open();
    }
    protected override void OnStop()
    {
        _host.Close();
    }
    protected override void OnContinue()
    {
        _host.Open();
    }
    protected override void OnPause()
    {
        _host.Close();
    }
}

1 个答案:

答案 0 :(得分:0)

正如丹尼尔所说,与在IIS中托管相比,自托管没有任何问题。有关更多讨论,请参阅此问题:IIS WCF service hosting vs Windows Service