部署WCF服务主机应用程序?

时间:2014-11-14 15:57:13

标签: c# .net wpf web-services wcf

我已经建立了一个包含3个项目的解决方案。 WCF服务,实体框架模型和托管服务的Windows窗体应用程序。

然后我有一个使用该服务的WPF客户端应用程序。

在Visual Studio 2013中,调试服务主机应用程序按预期工作,我可以从WPF客户端使用该服务。

但是,当我从调试目录中的.exe运行主机应用程序时,该服务无法运行。 Iget' Service Started'也没有例外。我以管理员身份运行.exe;我在机器上以管理员身份登录到服务器(Windows Server 2012)域:

 public partial class RegimesHost : Form
{
    public RegimesHost()
    {
        InitializeComponent();
        lblStatus.Text = string.Empty;
    }

    ServiceHost host;
    private void btnStart_Click(object sender, EventArgs e)
    {
        host = new ServiceHost(typeof(RegimesService));
        host.Open();
        lblStatus.Text = "Started...";
    }

    private void btnStop_Click(object sender, EventArgs e)
    {
        host.Close();
        lblStatus.Text = "Stopped...";
    }     
}

我是否遗漏了一些明显的问题,为什么服务将在Visual Studio的调试中运行,而不是从调试目录中的.exe运行?

1 个答案:

答案 0 :(得分:0)

终于让服务运行了。

我不得不在客户端的“添加服务引用”向导中使用下一个端口。据推测这是因为de-bug模式使用app.config中定义的端口,因此当您单独运行应用程序时,该端口已经被指定给调试运行时,因此应用程序将占用下一个端口。

在服务器上调试这个问题很棘手,使用跟踪可能是一个好主意。