[英]How to handle concurrent connections asp net (c#)
我已经在ASP网络中编写了一个简单的Web应用程序。 第一次执行程序时,一切正常,但是如果再次执行该程序,它将使用上次会话中的变量。
所以问题是
反正有没有纠正这个问题?
它与我如何设置公共变量有关?
我可以将变量存储为cookie,然后在页面关闭时将其删除吗?
这是我设置公共变量的方式:
static class vars
{
public static List<string> directory_names = new List<string>();
public static List<string> directory = new List<string>();
public static int numvar = 0;
//There are more but they all are made the same way
}
欢迎任何想法。
谢谢亚当
您应该避免使用static,因为这意味着每个连接的用户变量都将相同(另外,您可能会遇到线程问题)。
这是关于SO的链接: 更好的是:静态变量VS Asp.NET应用程序会话?
我们需要在这里解决几件事。
首先,我认为涉及的代码比您提供的类更多。 我认为您需要添加该内容,以便我们为您提供准确的答案。
但是,从您提供的类中可以看到,您要做的一件事情特别是static
关键字。
类和/或属性上的static
关键字表示在整个应用程序域中只有一个实例。 这意味着对您网站的所有请求将共享vars
类的值,因为只有一个实例。
我建议您遵循一些ASP.NET教程和视频,以对ASP.NET有所了解。 从这里开始,他们有很好的材料: http : //www.asp.net/get-started
阅读更多有关static关键字的信息: http : //msdn.microsoft.com/zh-cn/library/98f28cdx(v=VS.100).aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.