【发布时间】:2012-12-09 21:18:13
【问题描述】:
我需要一些帮助来解决一个困扰我一段时间的工作应用程序问题。
基本我正在使用一个用 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 处理程序中会受到多个用户并发问题的影响?
我实际上已经让这个类与一个基本的记录器显示一个变量,保留来自访问该站点并创建该类实例的用户的值。这可能与它的设置方式还是我想象的那样?
感谢您的任何见解
【问题讨论】:
标签: asp.net vb.net oop class httphandler