问题标签 [application-start]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
392 浏览

asp.net - 什么会导致 Application_Start 导致会话丢失?

我有一个托管在实时服务器上的网站,我的会话继续丢失。

我在 global.asax 中添加了一些日志记录,以检查应用程序何时开始和结束,会话在哪里开始和结束,以及是否存在应用程序错误。

当我导航到我的网站时,应用程序在我登录后启动,会话启动并存储我的电子邮件和用户 ID。之后,我只是在我的网站上浏览了一分钟左右,然后我就自动退出了。自动注销是会话为空然后我放弃它的结果。

下面是我上面测试的日志。

我已经测试过,这不是特定链接的问题,并且在本地主机上运行站点时不会发生这种情况。我失去了我的会话,因为我假设应用程序启动被触发,然后将会话设置为空。

什么可能导致 application_start 被随机触发?

0 投票
0 回答
627 浏览

asp.net - 登录后再次调用 Asp.Net Application_Start

在 VS 中调试我的代码,我看到 Global.asax 的 Application_Start 方法被调用了两次:

  • 首先当服务器启动时
  • 登录后第二次

登录方法执行以下操作:

Web.config文件如下(不包括一些100%不相关的部分):

. . .

0 投票
1 回答
631 浏览

c# - 如何在 Init() 之外为 HttpApplication 事件注册处理程序

我正在创建一个需要在 ASP.NET 请求生命周期的各个阶段运行一些代码的库。

通过重写 HttpApplication.Init() 并在其中注册各种处理程序来编写 Web 应用程序时,很容易做到这一点。

但是,我想在 Application_Start(); 期间从我的库中执行此操作;我不想让消费者不得不重写 Init() 并从那里调用我的事件设置代码。

有什么办法可以做到这一点?

这是我的理想设置:

0 投票
1 回答
393 浏览

asp.net - mvc webApi,为什么应用程序重新启动?

我在基于 mvs web api 的 durandal 项目中工作。

然而,有时它在运行时再次到达函数 Application_Start(在 Global.asax 中)。

为什么?!它必须发生一次,当第一个请求到达服务器时!

例如,在 Application_Start 中,我初始化了一些单音实例类,它们又被初始化了!这对我的申请不利!

0 投票
1 回答
304 浏览

c# - 非托管 DLL 在 Application_Start 之前加载

我有一个需要使用非托管 DLL 文件的 Web 应用程序。

我正在尝试使用在这个相关问题上建议的解决方案。

我遇到的问题是非托管 DLL 试图在我的 global.asax 文件的 Application_Start 之前加载,该文件将我的路径设置为包含非托管 DLL 文件的位置,因此应用程序立即崩溃。

我真的很想在我的代码中保留设置 PATH 的行为,以便我的解决方案可以部署到新服务器,而无需在发布我的解决方案之外具有本地访问权限来设置 PATH。

有什么方法可以强制我的 Application_Start 代码在加载其他 DLL 文件之前执行?

0 投票
0 回答
329 浏览

asp.net - ASP.NET 应用程序生命周期 - Application_Start

阅读了 IIS 7.0 中的应用程序生命周期,在msdn上并被以下行混淆了大约一半,“第一次在应用程序中请求 ASP.NET 页面或进程时,会创建 HttpApplication 类的新实例. 但是,为了最大限度地提高性能,HttpApplication 实例可能会被重复用于多个请求。”。这表明打折性能,大多数时候每个请求都会创建一个新的 HttpApplication 类实例。

如果这是正确的,那将意味着 Application_Start 在每个请求上触发。我只以为 appdomain 启动时它会触发一次

0 投票
2 回答
3394 浏览

asp.net-mvc - 用户通过身份验证后触发事件 - windows 身份验证

用户通过身份验证后是否会触发事件(Windows)?我在 Application_Start() 处执行,但它返回false User.Identity.IsAuthenticated.

我想要的是手动为用户创建和添加角色。

0 投票
0 回答
385 浏览

c# - 缺少 Automapper 配置

几天来我一直在努力解决一个非常奇怪的问题。我在静态类中注册了一些 Automapper 映射,如下所示:

这个类本身是从 global.asax 中的 application_start 调用的。到目前为止一切顺利,因为在我的开发环境中一切正常。

在我们的生产环境中,我们遇到了一些我们无法解释的行为。一段时间后,应用程序开始抛出这些异常:

缺少类型映射配置或不支持的映射

这很奇怪,因为映射是存在的。修复此问题的快速解决方法是回收应用程序池,这反过来会导致 application_start 再次运行。

我们怀疑在应用程序池空闲超时后重新启动应用程序后出现问题。但不幸的是,我们无法通过减少 IIS 空闲超时来重现该问题。

顺便说一句,我们已经排除了其他一些可能的原因:

  1. AutomapperConfig 类不是静态的
  2. 我们使用了一些 Autofac 的东西来注册 Automapper 地图,但是因为我们认为这可能是一个问题,所以我们删除了 Autofac 部分

关于这个问题的原因有什么想法吗?

0 投票
0 回答
296 浏览

asp.net - ASP.NET MVC 4 何时以及为什么会实例化全局应用程序类?

我一直在尝试在 ASP.NET MVC 4 应用程序中使用 LightInject,但发现了一些让我摸不着头脑的东西。我的代码如下所示:

Application_AuthenticateRequest正在爆炸,因为容器为空。现在,在过去,我总是将 IOC 容器之类的东西设为静态,但从未真正停下来考虑为什么……所以我尝试制作container一个常规实例字段,然后 BOOM!没有任何效果。

MvcApplication因此,我尝试在其中放置一个无参数构造函数Debugger.Break(),看起来 IIS 正在实例化应用程序、运行Application_Start、销毁该实例,然后实例化另一个以处理第一个传入请求。这是设计使然吗?我一直认为 IIS 会实例化你的应用程序一次并运行它,直到它被关闭或池被回收......但我现在意识到我不知道我从哪里得到这个想法。MSDN文档说“第一次在应用程序中请求 ASP.NET 页面或进程时,会创建 HttpApplication 类的新实例。但是,为了最大限度地提高性能,可能会为多个请求重用 HttpApplication 实例”——这表明 ASP.NET实际上可能会任意销毁和实例化应用程序实例。是这样吗?而且 - 如果是这样 - 我是否认为我应该只对需要在期间实例化Application_Start然后可用于所有后续请求的任何东西(比如我的 IoC 容器)使用静态字段?

0 投票
1 回答
1065 浏览

sonarqube - 绕过 Global.asax 中 Application_ 方法的 SonarQube 命名约定规则

有什么办法可以绕过规则

对于 Global.asax.cs,特别是对于Application_方法/事件?我们不想最小化完全跳过的文件数量。