繁体   English   中英

asp.net HTTP处理程序

[英]asp.net HTTP Handler

我需要一些正在困扰我一段时间的工作上的应用程序的帮助。

必不可少的是,我正在使用写有VB.net的HTTP处理程序,该处理程序似乎有时会表现出一些奇怪的行为。 下面是我看到错误的代码示例。 我简化了变量,因为其中一些包含公司数据

Public Class wmf
Implements IHttpHandler, IRequiresSessionState

Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
    Get
        ' Return false in case your Managed Handler cannot be reused for another request.
        ' Usually this would be false in case you have some state information preserved per request.
        Return True
    End Get
End Property

Private EmployeeID As string
Private Category As string


Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

'' handles user session and writes to database using the private variables above.

End Sub

这主要是伪代码(因此,请忽略任何最佳实践),但是我遇到的问题是,有时会从会话数据(或可能与每个实例化不同的任何数据)中填充此类中的私有变量。 )就像共享(静态)变量一样。

你们中的任何人是否看到将这样的私有变量放入HTTP处理程序中会遇到任何问题,而该处理程序会被具有并发问题的多个用户击中?

我实际上已经在带有基本记录器的此类中显示了一个变量,该变量保留了访问网站并创建该类实例的用户的值。 它的设置方式是否可能?或者我在想象中?

感谢您的见解

我的猜测是IsReusable返回true会引起您的问题。 由于对象已被多个请求重用,这将导致保留值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM