1

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

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

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

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

我会很感激一些基本的例子,我可以以此为基础。我对绑定没有偏好,但尽管我现在将从另一个远程 Windows 窗体应用程序访问它,但最终它将被远程 ASP.NET Web 应用程序访问/使用。

现在,我需要让它工作:

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

我怎样才能做到这一点?

4

3 回答 3

1

如果我理解正确,而不是 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 窗体项目中的那些。

于 2013-05-25T14:21:46.197 回答
1

尝试这个...

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

ServiceHost sh = new ServiceHost("http://localhost:9092/MyService")
sh.open();
于 2013-05-26T16:03:46.820 回答
1

您可以参考文章创建第一个 WCF 服务的四个步骤:初学者系列

于 2013-05-25T14:54:29.890 回答