我需要一些帮助来解决一个困扰我一段时间的工作应用程序问题。
基本我正在使用一个编写 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 处理程序中会被多个用户遇到并发问题的问题?
实际上,我已经让这个类与一个基本的记录器显示一个变量,保留来自访问该站点并创建该类实例的用户的值。这可能与它的设置方式还是我想象的那样?
感谢您的任何见解