通过控制台应用程序托管WCF服务

时间:2011-08-03 11:45:33

标签: .net wcf

这可能是一个简单的解决方案。

我在像这样的项目中创建了最简单的WCF主机

    static void Main(string[] args)
    {
        using (ServiceHost host = new ServiceHost(
           typeof(AmphoraService.ConsignmentService.Consignment)))
        {
            host.Open();
            Console.WriteLine("Consignment Service Activated! Press <Enter> to terminate " +
               "the Host application.");
            Console.WriteLine();
            Console.ReadLine();
        }
    }

我在app.config文件中提供了配置。

在Visual Studio中按F5时,它成功运行。文本显示在控制台窗口中,“netstat -a”显示端口808正在侦听(它是nettcp绑定)

但是,当我退出Visual Studio并尝试单击bin \ debug ***。exe文件时,会出现一个控制台窗口,但没有任何反应!并且“netstat -a”显示端口808没有监听。

我在俯瞰什么?

1 个答案:

答案 0 :(得分:1)

如果没有任何反应,可能该程序位于host.Open()行。尝试将visual studio连接到该实例(使用Debug&gt; attatch进行处理)。

您也可以尝试等待一段时间,看看是否有异常,例如超时等等,当ServiceHost试图实现您的服务对象时可能会出现问题

第一次运行它时,某些资源可能会被锁定(在visual studio中)?如果你重新启动并首先从资源管理器运行exe会怎么样?