我使用C#控制台应用程序创建了一个简单的bot应用程序,该应用程序通过http请求与用户交互。现在我想在Host服务上发布它,以便它始终在线。
我想采取的步骤是将所有bot服务器的类导出到类库中并制作Asp.net应用程序并将其上传到主机服务(可能使用Plesk面板)并让asp.net制作服务器类的实例并启动它。
但问题是,每次我打开浏览器并向asp.net应用程序发出请求时,它都会从线程池为我调度一个新线程,所以每次它都会创建一个服务器类的新实例并启动它。那么我怎样才能访问同一个服务器类?
甚至可能吗?
我知道我可以购买vps并在那里运行我的控制台应用程序但不是浪费资源用于简单的bot服务器应用程序吗?
对不起,如果我的问题不那么清楚。
答案 0 :(得分:0)
你可以这样做,但这不是推荐的方法。
创建一个具有getObj()的类,该类返回唯一的运行对象,如果没有对象,则创建一个并返回它。
请参阅:https://en.wikipedia.org/wiki/Singleton_pattern
让对象创建一个在后台运行的线程。 让线程将它的变量保存到sql server以获得冗余。
第一次创建对象时。从sql server读取变量,重新创建线程被杀死之前的状态。
在global.asax中,您可以在重新启动应用程序时启动该线程。