部署 WCF 服务主机应用
本文关键字:应用 主机 服务 WCF 部署 | 更新日期: 2023-09-27 18:30:34
我已经用 3 个项目构建了一个解决方案。WCF 服务、实体框架模型和承载该服务的 Windows 窗体应用。
然后,我有一个使用该服务的 WPF 客户端应用。
在 Visual Studio 2013 中,调试服务主机应用按预期工作,我可以从 WPF 客户端使用该服务。
但是,当我从调试目录中的.exe运行主机应用程序时,该服务不会运行。我得到"服务已启动",没有例外。我以管理员身份运行.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运行,我在这里是否缺少一些明显的东西?
终于让服务运行起来了。
我必须在客户端的"添加服务引用"向导中使用下一个端口。据推测,这是因为 de-bug 模式使用 app.config 中定义的端口,因此当您独立运行应用程序时,该端口已指定给调试运行时,因此应用程序将采用下一个端口。
跨服务器调试此内容很棘手,使用跟踪可能是个好主意。