我正在寻找一种在 Windows 服务中托管 Web UI 的方法,以便我可以在浏览器中配置和控制它。我想要一个简单轻量级的解决方案,我不想使用 IIS。
我可能可以手动滚动大部分,但我想知道是否已经制作了一些东西来简化这个过程。
我正在寻找一种在 Windows 服务中托管 Web UI 的方法,以便我可以在浏览器中配置和控制它。我想要一个简单轻量级的解决方案,我不想使用 IIS。
我可能可以手动滚动大部分,但我想知道是否已经制作了一些东西来简化这个过程。
如果您需要嵌入式服务器,但不需要服务或任何外部 HTML/ASPX 文件,这是另一种选择:
WebConfig - 你的无线路由器有它,现在你也可以 http://www.codeproject.com/KB/game/WebConfig.aspx
我一直想用我创建的 Windows 服务做同样的事情。我可能终于找到了一篇有帮助的文章。我还没有尝试过,但我认为它具有我们都需要的基础——以及示例源。
本文的重点是如何在您的代码中托管 Web 服务 (ASMX),但我认为它可以同样轻松地托管 ASPX 页面。
http://msdn.microsoft.com/en-us/magazine/cc163879.aspx
-德里克
您始终可以使用WCF在服务中托管端点并以这种方式公开它。
我能想到的唯一其他选择将涉及拥有一些 Web 应用程序可以写入并且服务可以从中读取的文件,或者是由网站写入并从服务中读取的数据库。这些都不像简单地通过 WCF 公开通信端点那样优雅。
编辑 - 添加
具体来说,我正在考虑将其公开为 HTTP 端点,并以 Web 服务的方式直接与浏览器交互。
但是,只要服务托管通信端点,就没有理由不能设置传统的 Asp.Net 应用程序来与服务通信。
如果您正在查看 UI 而不是 Web 服务界面,您可以做以下几件事:
1) 它可能超出您的需要,但您可以使用原始 Cassini 代码库在您的服务中托管 ASP.NET:http://blogs.msdn.com/dmitryr/archive/2005/09/27/474534.aspx
2)您也可以只打开一个端口,然后根据您希望访问服务的程度,将一个简单的 HTML 页面放在服务中的单独线程上。
这两种方法我都做过几次,只要您不关心安全性,任何一种都非常简单——例如,机器只能从受信任的 Intranet 访问。如果不是这种情况,最好在机器上托管 IIS 并编写一个安全的 Web 应用程序。
编辑:请不要使用这个。这是一个简单的概念证明,我从来没有去过任何地方。请参阅我的其他答案以获得更好的解决方案。
好吧,迟到总比没有好。没有太多时间来处理它。
http://github.com/leddt/SimpleHttpServer
这是非常基本的东西,不适合生产使用。这是我正在试验的一个小项目。但是,我会接受意见,建议等...
自从这个问题最初发布以来,已经发布了更好的解决方案。
如果您的目标是 .Net Core,使用WebHostBuilder自托管 ASP.Net Core 很简单。
本文的重点是如何在您的代码中托管 Web 服务 (ASMX),但我认为它可以同样轻松地托管 ASPX 页面。