gpt4 book ai didi

c# - 在C#Web表单上的每个请求上运行的事件

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:40 24 4
gpt4 key购买 nike

我需要在服务器上发出的每个请求之前或之上运行的事件。

如果存在该事件,则需要对该事件运行一些代码。

例如:有人键入http://www.website.com/some-link

我需要先检查此链接,然后再由应用程序对其进行处理。

我正在使用C#Web表单。

到目前为止,我正在尝试在Global.asax.cs中查找事件,例如

protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
// need to track requested url
// code that needs to be run with requested url.
}


有什么合适的解决方案吗?

特纳克斯

最佳答案

正确的解决方案是使用事件Application_BeginRequest,除非您要使事情复杂化并使用不推荐使用的httpmodules。

protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
var url = Request.Url.AbsoluteUri;
var path = Request.Url.AbsolutePath;
var host = Request.Url.Host;

// your magic goes here
}


就像一些信息一样,所有事件的顺序是:


Application_BeginRequest
Application_AuthenticateRequest
Application_AuthorizeRequest
Application_ResolveRequestCache
Application_AcquireRequestState
Application_PreRequestHandlerExecute
Application_PreSendRequestHeaders
Application_PreSendRequestContent


asp.net页面代码被执行

Application_PostRequestHandlerExecute
Application_ReleaseRequestState
Application_UpdateRequestCache
Application_EndRequest

关于c# - 在C#Web表单上的每个请求上运行的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31310120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com