我正在使用ASP.NET MVC,我需要在Application_BeginRequest设置一个会话variables。 问题是,在这一点上对象HttpContext.Current.Session始终为null 。 protected void Application_BeginRequest(Object sender, EventArgs e) { if (HttpContext.Current.Session != null) { //this code is never executed, current session is always null HttpContext.Current.Session.Add("__MySessionVariable", new object()); } }
任何人都可以告诉我Application_End何时在应用程序的生命周期中被触发? 当所有会话结束时,Application_End会自动触发吗? + Application_End是否有其他原因可以触发?
我正在使用VS 2008.我从File-> New-> Website-> Asp.net Website创build了一个新的Asp.net网站项目。 现在我想将Global.asax和.cs文件添加到项目中。 所以我右键点击项目 – >添加新项目 – >全局应用程序类。 然后我点击添加button。 Global.asax文件添加了下面的内容 <%@ Application Language="C#" %> <script runat="server"%> void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // […]
我从asp.net-mvc项目中看到global.aspx.cs protected void Application_BeginRequest() { } 但是当我尝试将此添加到我的项目,我不明白是什么调用此方法。 我看到基地System.Web.HttpApplication有这个事件,但我没有看到任何重写或订阅此事件。 有人可以解释如何连接在asp.net-mvc的Application_BeginRequest?
我无法debuggingglobal.asax文件! 我在Application_Start()方法中有一些代码,但是当我在方法中设置一个断点时,它被忽略了! 这是正常的吗?
我想知道在什么情况下,我应该将Application_Start()与Init()中的应用程序初始化代码放在我的Global.asax文件中? 两者之间的区别对我来说似乎不是很明显,除了先调用Application_start ,再调用Init() 。 为什么我会用另一个呢? 它真的有所作为吗? 这两个事件之间的应用程序状态有什么变化? 到目前为止唯一真正的指针我可以findIHttpModule只有一个Init()方法,所以如果我在做什么可能在某些时候更适合实现IHttpModule我应该使用Global.asax的Init()方法,如果没有别的一致性。
我需要使用Server.MapPath()来结合我存储在web.config中的一些文件path。 但是,由于Server.MapPath()依赖于当前的HttpContext(我认为),我无法做到这一点。 当试图使用该方法时,即使它的“可用”,我得到以下exception: 服务器操作在此上下文中不可用。 还有另外一种方法可以将Web根目录相对目录(如~/App_Data/映射到完整的物理path,如C:\inetpub\wwwroot\project\App_data\ ?
我希望你能帮助我解决下面的问题。 我在IIS7上使用ASP.NET MVC 3,并希望我的应用程序支持点用户名。 例如: http://localhost/john.lee 这就是我的Global.asax的样子:( http:// localhost / {username}) routes.MapRoute( "UserList", "{username}", new { controller = "Home", action = "ListAll" } ); 当我访问其他页面,如http://localhost/john.lee/details等 但主要的用户页面不起作用,我希望应用程序像支持http://www.facebook.com/john.lee的 Facebook一样工作。 我使用下面的代码,它根本不适用于我: <httpRuntime relaxedUrlToFileSystemMapping="true" /> 我能够使用下面的代码,并获得应用程序接受点,但我绝对不希望使用下面的代码有很多不同的原因,请告诉我有一种方法来解决这个问题。 <modules runAllManagedModulesForAllRequests="false" />
在我的.Net 2.0 Asp.net WebForms应用程序,我有我的Global.asax包含以下代码: <%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %> 但是,当我build立我得到一个错误陈述 – 无法加载types“MyNamespace.Global”。 这似乎是因为编译器在Global.asax文件中看不到MyNamespace命名空间(在Global.asax.cs后面的代码中定义)(不显示在R#intellisence中)。 这原来是一个非常难的坚果破解…任何帮助将不胜感激! 注意:Global.asax和Global.asax.cs位于相同的文件夹中。 注2:使用csc编译vs提示时,编译成功
我正在聊天应用程序工作,我用HashTable包含用户和运算符作为ChatRoom类的键和对象作为HashTable的值。 主要问题是,当用户或操作员closures浏览器或断开没有注销,然后它会自动注销会话结束。 请帮助我相关的,以及如何在这个问题上使用Global.asax。