[quote=引用 7 楼 sp1234 的回复:] “有界面的”基本上应该做一个客户端应用程序来设计。例如你可以在windows server的安装路径下某个子目录,把一个wpf桌面小程序的click once发布文件拷贝进去,然后网路上的任何终端都可以运行这个目录下的setup.exe程序来安装到自己的桌面,并且可以每次启动时(或者启动后)自动从这个原始目录更新版本。这样,虽然部署在一起(所谓部署,其时就是copy,因为.net程序只要copy即可运行),但是其实仍然是“服务器-客户端”分开的。你的“有界面的”程序就是客户端程序,它跟服务器程序进行通讯。
“有界面的”基本上应该做一个客户端应用程序来设计。例如你可以在windows server的安装路径下某个子目录,把一个wpf桌面小程序的click once发布文件拷贝进去,然后网路上的任何终端都可以运行这个目录下的setup.exe程序来安装到自己的桌面,并且可以每次启动时(或者启动后)自动从这个原始目录更新版本。这样,虽然部署在一起(所谓部署,其时就是copy,因为.net程序只要copy即可运行),但是其实仍然是“服务器-客户端”分开的。你的“有界面的”程序就是客户端程序,它跟服务器程序进行通讯。
[quote=引用 4 楼 caozhy 的回复:] 你完全可以使用一个普通的桌面程序和Windows服务程序通讯,而实现通过界面操作那个服务程序。 经典的例子是SQL Server。SQL Server的服务没有界面,无需登录就可以跑。但是可以通过独立的Management Studio去操作管理它,但是后者是独立的。
你完全可以使用一个普通的桌面程序和Windows服务程序通讯,而实现通过界面操作那个服务程序。 经典的例子是SQL Server。SQL Server的服务没有界面,无需登录就可以跑。但是可以通过独立的Management Studio去操作管理它,但是后者是独立的。
Windows的设计初衷是就为了没有界面,要是想有界面你可以换一种方式,控制台/Window Form/WPF
可以。但是需要在服务的参数设置中,设置“允许桌面交互”。 通常当你搞是一个比较重要、甚至有些庞大的服务时,你可能仅搞一个非常简单、只有十几行代码的“守护进程”服务程序,然后用它每隔几秒钟就通过Process对象查询一下进程,并且启动真正的业务服务进程。而这个业务服务进程则可能是Console的程序、WPF的程序,甚至可能是一个Excel或者Word文档(带有宏的),都可以。
62,046
社区成员
669,049
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧