首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用webforms控制流程

使用webforms控制流程
EN

Stack Overflow用户
提问于 2011-06-05 04:30:58
回答 3查看 119关注 0票数 0

我在这里试图找到一种解决方案来控制我通过webforms启动的进程。

我知道使用System.Diagnostics.Process类启动和停止它非常容易。

我试图实现的是将数据发送到进程( terraria服务器)。基本上是服务器本身,当它被正确启动时,你可以在它里面写一些命令,比如kick/ban/save/exit等等。

我想写这些命令,但通过webforms应用程序进行远程控制。

我认为最近的解决方案是通过我编写的守护进程调用服务器,该守护进程将作为webforms命令和服务器应用程序之间的网关工作。这是做事情的正确方式吗?或者有没有更简单的方法呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-05 04:39:06

您是否正在寻找.Net 3.5中引入的BackgroundWorker类?要在后台执行耗时的操作,需要创建一个BackgroundWorker,然后侦听报告操作进度的事件,并在操作完成时发出信号。它在一个单独的线程上执行。

MSDN site提供了一些示例,它们可能会帮助您确定这是否适合您。

或者你可以只使用web服务或者,不是吗?您可以在web服务器上承载web服务,也可以将其作为Windows服务承载。

票数 0
EN

Stack Overflow用户

发布于 2011-06-05 05:13:26

您可以在应用程序启动时启动进程,并在静态变量中保留对它的引用。您还需要附加到OutputDataReceived事件,以便记录进程发送到其StandardOutput流的任何数据。

这个想法是,进程将在服务器上运行,web应用程序将静默地记录它发送的任何信息。当请求到来时,缓冲区将被发送给用户并被清除。

用户还可以发送命令,web应用程序将通过其StandardInput流将这些命令转发给进程。

我还没试过,但它可能行得通。您还需要考虑如果应用程序池回收会发生什么情况。为了获得最好的效果,我认为你应该禁用自动回收。

票数 0
EN

Stack Overflow用户

发布于 2011-06-05 05:25:23

是的,这是最好的方式,使windows服务将控制和监视进程,并成为windows服务构建ASP.NET (webforms)应用程序的应用程序接口。

ASP.NET应用程序可以自动刷新页面(通过javascript或meta刷新标记),并从控制您的进程和事件的windows服务中获得新的状态,更好地,您可以使用ajax构建javascript应用程序并获得新的状态数据和发送命令,因此将不需要刷新整个页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6239214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档