问题标签 [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.
asp.net - 什么会导致 Application_Start 导致会话丢失?
我有一个托管在实时服务器上的网站,我的会话继续丢失。
我在 global.asax 中添加了一些日志记录,以检查应用程序何时开始和结束,会话在哪里开始和结束,以及是否存在应用程序错误。
当我导航到我的网站时,应用程序在我登录后启动,会话启动并存储我的电子邮件和用户 ID。之后,我只是在我的网站上浏览了一分钟左右,然后我就自动退出了。自动注销是会话为空然后我放弃它的结果。
下面是我上面测试的日志。
我已经测试过,这不是特定链接的问题,并且在本地主机上运行站点时不会发生这种情况。我失去了我的会话,因为我假设应用程序启动被触发,然后将会话设置为空。
什么可能导致 application_start 被随机触发?
asp.net - 登录后再次调用 Asp.Net Application_Start
在 VS 中调试我的代码,我看到 Global.asax 的 Application_Start 方法被调用了两次:
- 首先当服务器启动时
- 登录后第二次
登录方法执行以下操作:
Web.config文件如下(不包括一些100%不相关的部分):
. . .
c# - 如何在 Init() 之外为 HttpApplication 事件注册处理程序
我正在创建一个需要在 ASP.NET 请求生命周期的各个阶段运行一些代码的库。
通过重写 HttpApplication.Init() 并在其中注册各种处理程序来编写 Web 应用程序时,很容易做到这一点。
但是,我想在 Application_Start(); 期间从我的库中执行此操作;我不想让消费者不得不重写 Init() 并从那里调用我的事件设置代码。
有什么办法可以做到这一点?
这是我的理想设置:
asp.net - mvc webApi,为什么应用程序重新启动?
我在基于 mvs web api 的 durandal 项目中工作。
然而,有时它在运行时再次到达函数 Application_Start(在 Global.asax 中)。
为什么?!它必须发生一次,当第一个请求到达服务器时!
例如,在 Application_Start 中,我初始化了一些单音实例类,它们又被初始化了!这对我的申请不利!
c# - 非托管 DLL 在 Application_Start 之前加载
我有一个需要使用非托管 DLL 文件的 Web 应用程序。
我正在尝试使用在这个相关问题上建议的解决方案。
我遇到的问题是非托管 DLL 试图在我的 global.asax 文件的 Application_Start 之前加载,该文件将我的路径设置为包含非托管 DLL 文件的位置,因此应用程序立即崩溃。
我真的很想在我的代码中保留设置 PATH 的行为,以便我的解决方案可以部署到新服务器,而无需在发布我的解决方案之外具有本地访问权限来设置 PATH。
有什么方法可以强制我的 Application_Start 代码在加载其他 DLL 文件之前执行?
asp.net - ASP.NET 应用程序生命周期 - Application_Start
阅读了 IIS 7.0 中的应用程序生命周期,在msdn上并被以下行混淆了大约一半,“第一次在应用程序中请求 ASP.NET 页面或进程时,会创建 HttpApplication 类的新实例. 但是,为了最大限度地提高性能,HttpApplication 实例可能会被重复用于多个请求。”。这表明打折性能,大多数时候每个请求都会创建一个新的 HttpApplication 类实例。
如果这是正确的,那将意味着 Application_Start 在每个请求上触发。我只以为 appdomain 启动时它会触发一次
asp.net-mvc - 用户通过身份验证后触发事件 - windows 身份验证
用户通过身份验证后是否会触发事件(Windows)?我在 Application_Start() 处执行,但它返回false User.Identity.IsAuthenticated
.
我想要的是手动为用户创建和添加角色。
c# - 缺少 Automapper 配置
几天来我一直在努力解决一个非常奇怪的问题。我在静态类中注册了一些 Automapper 映射,如下所示:
这个类本身是从 global.asax 中的 application_start 调用的。到目前为止一切顺利,因为在我的开发环境中一切正常。
在我们的生产环境中,我们遇到了一些我们无法解释的行为。一段时间后,应用程序开始抛出这些异常:
缺少类型映射配置或不支持的映射
这很奇怪,因为映射是存在的。修复此问题的快速解决方法是回收应用程序池,这反过来会导致 application_start 再次运行。
我们怀疑在应用程序池空闲超时后重新启动应用程序后出现问题。但不幸的是,我们无法通过减少 IIS 空闲超时来重现该问题。
顺便说一句,我们已经排除了其他一些可能的原因:
- AutomapperConfig 类不是静态的
- 我们使用了一些 Autofac 的东西来注册 Automapper 地图,但是因为我们认为这可能是一个问题,所以我们删除了 Autofac 部分
关于这个问题的原因有什么想法吗?
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 容器)使用静态字段?
sonarqube - 绕过 Global.asax 中 Application_ 方法的 SonarQube 命名约定规则
有什么办法可以绕过规则
对于 Global.asax.cs,特别是对于Application_
方法/事件?我们不想最小化完全跳过的文件数量。