繁体   English   中英

Windows窗体应用程序中的主机WCF

[英]Host WCF in a Windows Forms application

我已经创建了一个WCF服务(DLL文件),我可以在解决方案中从我的“相邻”项目添加服务引用时使用它。

我希望在Windows窗体应用程序中使此WCF服务可访问/托管它。 我需要从远程位置使用它,并需要通过URI访问它。 (IP地址:端口!?)

我不确定的是,如何在Windows窗体应用程序中托管它? 我已经去了很多例子,但我不能完全落后于需要做的事情......

我是否将DLL文件引用添加到新的Windows窗体应用程序,并以某种方式“shell”DLL文件? 我可以将WCF服务项目类型更改为Windows窗体项目吗? 这里需要做什么?

我会感谢一些我可以建立的基本例子。 我不喜欢绑定,但是我现在将从另一个远程Windows窗体应用程序访问它,最终,它将被远程ASP.NET Web应用程序访问/使用。

现在,我需要让它继续工作:

远程Windows窗体应用程序<--->(服务器)WCF服务(托管在自己的Windows窗体应用程序中)

我怎样才能做到这一点?

如果我理解正确,而不是ASP.NET,听起来你正在寻找自托管。 请参见如何:在托管应用程序中托管WCF服务

您的服务可以保留在自己的类库中; 您只需要从Windows窗体项目中实例化它。 例如,将Program.Main()复制到Program.cs中,替换为...

Console.WriteLine("The service is ready at {0}", baseAddress);
Console.WriteLine("Press <Enter> to stop the service.");
Console.ReadLine();

...与......一致

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

...通常包含在Windows窗体项目中的。

尝试这个...

将已创建的WCF库的DLL文件引用添加到新的Windows应用程序项目中,并在任何事件(如单击按钮)上尝试以下代码。

ServiceHost sh = new ServiceHost("http://localhost:9092/MyService")
sh.open();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM