【发布时间】:2012-06-22 00:13:07
【问题描述】:
我遇到了一些问题,想知道是否有人可以帮助我解决这个问题。
问题是静态变量在不同的线程调用/季节之间共享。 这是原始代码:
public partial class ApplicationWSGlobal : System.Web.Services.WebService
{
public static string UploadPath = @"";
public ApplicationWSGlobal()
{
InitializeComponent();
}
[Webmethod]
public void DoSomeThing()
{
... = UploadPath;
}
}
我在 global.asax 类中设置 UploadPath。
public void Application_BeginRequest()
{
ApplicationWSGlobal.UploadPath = getData();
}
我尝试通过将 [ThreadStatic] 添加到“UploadPath”变量来解决问题,但它不起作用。全局变量在所有会话中运行,我不希望这样
在这种情况下我可以使用任何替代方法
我提前感谢所有回复!
【问题讨论】:
-
我不清楚“问题”到底是什么......
-
我有点难以解释,但我会尽力而为
-
你的问题是什么?真的,我们不是读心者……
-
您是否期望多次调用最终保持状态,而您自己却不做任何事情?
-
静态变量应该是这样工作的。它们存在于实例化对象之外。
标签: c# multithreading web-services session