【发布时间】:2023-02-09 02:37:51
【问题描述】:
我启动了一个类型为“WCF 服务库”的 C# 项目。
为了在 GUI 应用程序中包含 WCF 服务,我使用项目上的添加按钮在该项目(而非解决方案)中添加了 Windows 窗体。然后我将项目输出类型更改为“Windows 应用程序”。
该 exe 正在 bin 目录中生成,但是当我在调试中单击“开始”时,控件不会使 Main() 无效。但是 WCF 服务正在托管。
单击开始时如何使控件进入主界面?
看起来它们(WCF 服务/exe)都必须单独说明(尽管工作正常)
编辑: 将它们放在一个项目中的原因是,服务很容易从应用程序访问数据。应用程序处理数据,服务向外界发送/接收数据。
在这个项目中,EXE(应用程序)必须手动启动并且运行良好。当我单击“调试”时 WCF 服务启动并且工作正常。
那么问题来了,如何一起启动它们呢?
【问题讨论】:
-
您需要解决的原始问题是什么?为什么要在同一个可执行程序中同时使用“WCF 服务库”和普通可执行应用程序?对我来说,这听起来像是您误解了要求,或者设计有缺陷。
-
也请花一些时间阅读the help pages,获取SO tour,阅读How to Ask,以及this question checklist。然后edit你的问题来改进它,比如创建一个好的标题,用一句话概括你的问题。
-
A服务顾名思义,就是你可以调用的东西,或者更准确地说,你可以请求它做某事。一个可执行的是 - 嗯 - 一个独立的应用程序。因此,服务本身不应该是一个 exe,而应该是称为来自一个(通常这是您的 IIS 服务器)。
-
听起来真正的问题是“WinForms 应用程序中的 Main 在哪里”? Main 就在那里,即使它被隐藏也会被调用。如果您将特定窗体配置为入口点,VS 将生成初始化并启动该窗体的代码
-
你的意思是你的个别方法可以调用,但是如果你把它们和main方法放在一起,就不行了?
标签: c# winforms wcf program-entry-point