问题标签 [global-asax]
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 事件的情况下启动 aspnet_wp.exe
我正在尝试调试 Web 服务(Windows XP SP3、VS 2008、ASP.NET 2、VB.NET)。
对于大多数情况,如果已经加载了 asp.net 工作进程,我可以启动调用 Web 服务的 Windows 窗体,附加到 Visual Studio 中的 aspnet_wp.exe,然后调试到我心仪的内容,但捕获应用程序启动global.asax 中的事件很痛苦。
如果我重置 IIS,当然没有要附加的进程,直到 Application start 事件结束。
我发现这样做的唯一方法是创建一个单独的 aspx 页面,将其设置为起始页面,然后运行它 - 然后我可以在 App 启动事件的中断处停下来,但维护一个页面很麻烦这本质上只是一个测试存根。
对一些更整洁的东西有什么想法吗?有点像“一开始就附加到进程”。
当然,更好的是不必显式附加到 aspnet_wp.exe 以便能够调试 Web 服务,但我也没有找到这样做的方法。
感谢您的任何建议。
asp.net - 获取当前在线用户?
谷歌搜索了一下后,我发现了一些关于如何使用 ASP.NET 获得在线用户的提示。但我正在使用我自己的课程作为会员资格。
我查到的资料是:
- 用户登录时将用户 sessionId 记录到数据库
- 当他们的会话超时时将他们注销
您对此有何建议?
asp.net-mvc - 是否可以在不同的 AppDomain 中运行 ASP.NET MVC 路由?
我在想出以下解决方案时遇到问题。我有一个最近从 Web 表单升级到 MVC 的博客。该博客在两个不同的域上以瑞典语和英语提供,并且在 IIS 中的同一个网站上运行。
问题是我想要两个网站上的语言特定网址,如下所示:
英文:http ://codeodyssey.com/archive/2009/1/15/code-odyssey-the-next-chapter
瑞典语:http ://codeodyssey.se/arkiv/2009/1/15/code-odyssey-nasta-kapitel
目前,我通过根据调用的域在每个请求上注册 RouteTable 来实现这一点。我的 Global.asax 看起来像这样(不是整个代码):
这目前有效,但我知道这不是一个很好的解决方案。启动此应用程序时,我收到“已添加项目。键入字典”错误,有时似乎不稳定。
我只想在 Application_Start 中设置我的路由,而不是像现在这样在每个请求上清除它们。问题是请求对象不存在,我无法知道我应该注册哪种语言特定的路由。
一直在阅读有关 AppDomain 的信息,但在网站上找不到很多有关如何使用它的示例。我一直在考虑给这样的东西加注星标:
然后在每个应用程序域中注册每个网站路由,并根据 url 将请求发送到其中一个。找不到任何关于如何以这种方式使用 AppDomain 的示例。
我完全偏离轨道了吗?或者有更好的解决方案吗?
asp.net - 重定向 w., ww., wwww. 到 -> www
我正在尝试将 site.com w.site.com ww.site.com 和 wwww.site.com 重定向到 www.site.com。
我的老板想确保拼写错误也能出现在网站上。
他们重定向很好。我正在使用 ASP.Net 并使用正则表达式将 301 重定向返回,但是,当我尝试时, http://www.seoconsultants.com/tools/headers.asp等工具似乎没有显示正确的重定向使用 w.site.com ww。等等
我试图弄清楚谷歌看到了什么,但我不确定在哪里检查。
它会“出现”萤火虫将其报告为 301,但我无法弄清楚为什么这些工具会报告错误信息。我的老板正在使用网络工具来查看这些是否有效,所以有没有人知道一种方法来证明 301 被正确发送回来。或者任何人都可以推荐一种我可以检查自己是否返回正确的 301 的方法?
asp.net - “HttpContext.Current.Session”与 Global.asax “this.Session”
最近,在为工作中的 ASP.NET 项目编写一些代码时。我们需要一个跟踪工具来获取用户活动的基本指标(页面点击计数等),我们将跟踪它们,然后通过inSession
将数据保存到 DB 。Session_End
Global.asax
我开始破解,初始代码运行良好,在每个页面加载时更新数据库。我想在每个请求上删除这个数据库命中,只是依靠Session_End
存储所有数据。
所有跟踪代码都封装在Tracker
类中,包括本质上包装会话变量的属性。
问题 是当我Tracker.Log()
在Session_End
方法中执行时HttpContext.Current.Session
,Tracker 代码中的NullReferenceException
. 现在,这是有道理的,因为HttpContext
总是与当前请求相关,当然在 中Session_End
,没有请求。
我知道它Global.asax
有一个Session
属性,它返回一个HttpSessionState
实际上似乎工作正常的属性(我最终将它注入到跟踪器中)..
但我很好奇,我怎么能从外部获得对所HttpSessionState
使用对象的相同引用?Global.asax
Global.asax
在此先感谢各位,感谢您的意见。:)
c# - Asp.Net Global.asax 访问当前请求的 Page 对象
有什么方法可以从 global.asax Application_EndRequest 函数中访问页面对象吗?
我试图在请求的末尾设置标签的文本,但事实证明访问页面比我想象的要困难。
这是我目前无法使用的:
page 在这里始终为空。
提前致谢。
c# - global.asax 未更新
我们有一个 Web 应用程序,我们在其中使用 global.asax 进行 url 重写。我们在实时服务器上使用网站的编译版本。
作为修改请求的一部分,我们必须添加一些自定义的原生 AJAX 代码,其中 javascript 会调用 web 服务来更新页面的内容。为了能够调用扩展名为 .asmx 的 web 服务,我们修改了 url 重写代码以单独处理 asmx 请求。
这种安排在本地机器上运行良好,但是当我们发布站点并将其部署在实时服务器上时,似乎没有包含新代码。它仍然会跳过检查“.asmx”扩展名的条件,并抛出一个找不到页面的异常,考虑到 web 服务名称作为页面名称。
我们已经尝试过到处寻找并在谷歌上搜索这些东西..但无济于事..任何可能出现问题的指针..?
asp.net - application_start 意外触发 asp.net
我正在查看一个 asp.net 应用程序,该应用程序在 global.asax 内部开始调用应用程序内的数据库。这些调用运行大约需要 3 秒(取决于 SQL 缓存计划)。我注意到当我第一次重新部署时应用程序运行缓慢。我把它归结为应用程序启动时对数据库的调用。然而,几分钟后,应用程序再次需要时间来加载。
为了找出发生了什么,我已经写入了一个日志文件(见下文)。从这个文件中,您可以看到当多个请求第一次命中应用程序时,应用程序启动会多次触发。然后似乎 application_start 以随机方式触发(2-10分钟内的任何时间)。
根据我对 application_starts 工作原理的理解,它应该只在应用程序 FIRST 启动时触发,但它似乎是从多个客户端随机触发的!根据 MSDN “应用程序启动时第一次触发 Application_Start 事件。”
谁能帮我弄清楚发生了什么?我正在使用 IIS6 和 .net 2.0。它是我缺少的应用程序池设置吗?
非常感谢里波
asp.net-mvc - 寻找用于路由信息的示例 global.asax.cs 文件
无论您读到什么有关ASP.NET 路由或 REST 的信息,我认为了解更多关于它们的最佳方法是阅读其他人的路由文件。在与Jeff的视频中,如果您将视频暂停在正确的位置,您可以瞥见stackoverflow 路由文件。实际上,仅看它的组织方式,我就学到了很多东西。
为此 - 是否有人想从 global.asax.cs 发布他们的路由数据(全部或部分)以供其他人学习?我会在它更有条理的时候发布我的——现在有点乱。
提示:并不是说您应该有任何安全漏洞 - 但您可能想在发布文件之前检查文件中是否没有任何“秘密”。
c# - HttpModule 和 Global.aspx 之间的性能差异是什么?
我制作了一个网络应用程序,我在其中使用了一个模块,该模块在没有“www”网址(http://example.com/)的情况下重定向到“www”网址(http://www.example.com/)。但是由于我在共享托管服务器上,我没有实现 HttpModule 的权限,所以我尝试了使用 Global.asax 文件的相同模块代码。这样可行!
我使用以下 (Application_BeginRequest()) 事件来实现我的 HttpModule 功能。
Global.asax 文件中的模块和应用程序运行良好且正确,但我担心性能。
为什么我们在 asp.net 中使用 HTTPModules 如果我们可以使用 Global.asax 文件实现相同的功能。两者之间是否存在性能差异。或者在使用 Global.asax 文件而不是 HttpModule 时我需要担心的任何区别?
请解释!