我已经创建了一个WCF服务(DLL文件),我可以在解决方案中从我的“相邻”项目添加服务引用时使用它。
我希望在Windows窗体应用程序中使此WCF服务可访问/托管它。我需要从远程位置使用它,并需要通过URI访问它。 (IP地址:端口!?)
我不确定的是,如何在Windows窗体应用程序中托管它?我已经做了很多例子,但我不能完全落后于需要做的事情......
我是否将DLL文件引用添加到新的Windows窗体应用程序,并以某种方式“shell”DLL文件? 我可以将WCF服务项目类型更改为Windows窗体项目吗?需要在这里发生什么?
我很感激一些我可以建立的基本例子。我不喜欢绑定,但是我现在将从另一个远程Windows窗体应用程序访问它,最终它将被远程ASP.NET Web应用程序访问/使用。
目前,我需要开展工作:
远程Windows窗体应用程序< ---> (服务器)WCF服务(托管在自己的Windows窗体应用程序中)
我该怎么做?
答案 0 :(得分:1)
如果我理解正确,而不是ASP.NET,听起来你正在寻找自托管。请参阅 How to: Host a WCF Service in a Managed Application 。
您的服务可以保留在自己的类库中;您只需要从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窗体项目中。
答案 1 :(得分:1)
答案 2 :(得分:1)
试试这个......
将已创建的WCF库的DLL文件引用添加到新的Windows应用程序项目中,对于任何事件,例如单击按钮,请尝试以下代码。
ServiceHost sh = new ServiceHost("http://localhost:9092/MyService")
sh.open();