asp.net - 在 Web 应用程序中启动应用程序级别的 Windows 服务
问题描述
我有一个 Windows 服务。我想在我的 Web 应用程序启动时启动该服务,并在我的应用程序关闭时关闭该服务。我搜索但我没有得到它。它应该在应用程序级别,因为它只会启动一次。 Windows 服务将不间断地不断更新数据库中的数据。
解决方案
好的,对不起..我得到了我想做的事。我之前不知道,或者说我知道,但我真的忘记了。任何在应用程序生命周期中只启动一次的东西都应该在 Application_Start() 中初始化,然后它的对象可以存储在应用程序变量中以在任何页面中使用,而无需担心任何会话。例如,此代码块用于 wcf 服务
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
MyServiceRef.MyServiceClient myService = new MyServiceRef.MyServiceClient();
myService.GetData();
Application["ClientObj"] = myService;
SqlDependency.Start(constr);
}
推荐阅读
- javascript - 单击按钮将数据保存到文件并关闭窗口
- angular - 收到此错误?错误 TS2304:找不到名称
- python - 比较相同数据框的 2 个版本后如何获取修改后的行
- sass - 我的 scss 循环只进入 1vw 而不是 100vw 分布在 12
- kubernetes - 如何将 GKE 的 Istio 配置为限制出口?
- emacs - 为什么 emacs 无法安装 'gnu-elpa-keyring-update-' 和其他一些软件包?
- python - 数组赋值字典
- petri-net - 如何获取 UNION 类型的元素?
- python - 为什么 Mayavi 内联图在 Jupyter Notebook 中显示为文本?
- flutter - 如何将 Firestore 时间戳转换为 Dart DateTime