- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在实现一个简单的 HttpModule,我希望在 Web 应用程序启动时运行一些代码。但是我惊讶地发现我通常在 Global.asax 中使用的 Application_Start 事件在 HttpModule 中不可用。这是正确的,还是我遗漏了什么?
如何从 HttpModule 连接到 Application_Start 事件?
更新:
我已经找到使用 Init 事件的简单解决方案,但它对我来说仍然有点奇怪。
最佳答案
HttpModule
来处理应用程序启动事件与其他只写/相信他们读到的东西相反,我已经完成了自己的部分,发现可以使用 HTTP 模块处理应用程序启动。这确实有点 hack,但它可靠地工作。这绝对不是某些人应该避免的事情,因为我也在 MS 模块中看到过它(即 Sharepoint 2010 SPRequestModule
)我的这篇博文 (Writing a custom IHttpModule that handles Application_Start event) 将为您提供所需的所有信息了解这件事。我自己做过,而且很管用。但是在使用公共(public)资源时你必须小心一点,因为你的应用程序可能会开始表现得很奇怪。为避免这种情况,我建议您阅读 additional blog post我的,这解释了为什么会发生这种情况以及如何避免这种情况。
如果您也希望它是线程安全的,您还可以锁定执行,然后将模块标记为应用程序已启动。这是最安全的做法。
private static bool isStarted = false;
private static object moduleStart = new Object();
...
if (!isStarted)
{
lock(moduleStart)
{
if (!isStarted)
{
// handle aplication start
...
isStarted = true;
}
}
}
我已经创建了自己的库来连接到现有应用程序,如 Sharepoint 2010。我现在不想更改 Sharepoint 的 Global.asax,对吗?使用博客文章中解释的技术,我能够连接到它。很容易。
我想这正是您一直在寻找的。通过将模块添加到 web.config
来 Hook 任意应用程序的启动事件。这样做。它会起作用。
关于c# - 挂接到 HttpModule 中的 Application_Start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779137/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!