Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 我们可以在web应用程序中使用静态类型变量吗?这将被许多用户同时使用? 私有静态列表\u进程; 公开名单程序 { 获取{return\u进程;} 设置{u进程=值;} } 私有静态字符串_idsscombination; 公共字符串组合 { 获取{return} 设置{u id组合=值;} } 私有静态int_QCID; 公共int QCID { 获取{return\u QCID;} 设置{u QCID=value;} }_C# 4.0 - Fatal编程技术网

C# 4.0 我们可以在web应用程序中使用静态类型变量吗?这将被许多用户同时使用? 私有静态列表\u进程; 公开名单程序 { 获取{return\u进程;} 设置{u进程=值;} } 私有静态字符串_idsscombination; 公共字符串组合 { 获取{return} 设置{u id组合=值;} } 私有静态int_QCID; 公共int QCID { 获取{return\u QCID;} 设置{u QCID=value;} }

C# 4.0 我们可以在web应用程序中使用静态类型变量吗?这将被许多用户同时使用? 私有静态列表\u进程; 公开名单程序 { 获取{return\u进程;} 设置{u进程=值;} } 私有静态字符串_idsscombination; 公共字符串组合 { 获取{return} 设置{u id组合=值;} } 私有静态int_QCID; 公共int QCID { 获取{return\u QCID;} 设置{u QCID=value;} },c#-4.0,C# 4.0,如上所述,我创建了一些静态变量,它们是否为所有用户共享相同的内存。简短回答:很可能是。 长答案: 静态成员在应用程序域中共享 如果您只在一台服务器上的一个web应用程序中运行您的网站,则是。这在小型web应用程序中很常见 但是,如果您在多台服务器/web应用程序上运行(例如在一个web场中),则它们之间不共享(就像inProc会话不共享一样)。如果您正在这种环境中运行,那么您需要考虑其他解决方案,例如将其保存在数据库或缓存服务器中 此外,如果您计划这样做,您应该使访问线程安全。请参阅:。在这个特

如上所述,我创建了一些静态变量,它们是否为所有用户共享相同的内存。

简短回答:很可能是。

长答案: 静态成员在应用程序域中共享

如果您只在一台服务器上的一个web应用程序中运行您的网站,则。这在小型web应用程序中很常见

但是,如果您在多台服务器/web应用程序上运行(例如在一个web场中),则它们之间不共享(就像inProc会话不共享一样)。如果您正在这种环境中运行,那么您需要考虑其他解决方案,例如将其保存在数据库或缓存服务器中


此外,如果您计划这样做,您应该使访问线程安全。请参阅:。在这个特定的示例中,您可能希望使用
读写器锁
互斥锁
简短回答:很可能是。

长答案: 静态成员在应用程序域中共享

如果您只在一台服务器上的一个web应用程序中运行您的网站,则。这在小型web应用程序中很常见

但是,如果您在多台服务器/web应用程序上运行(例如在一个web场中),则它们之间不共享(就像inProc会话不共享一样)。如果您正在这种环境中运行,那么您需要考虑其他解决方案,例如将其保存在数据库或缓存服务器中

此外,如果您计划这样做,您应该使访问线程安全。请参阅:。在这个特定的示例中,您可能希望使用
ReaderWriterLock
Mutex

是 因为代码在服务器上运行,并且在所有用户之间共享
因为代码在服务器上运行,并且在所有用户之间共享

,所以如果我不想在所有用户之间共享特定变量,那么在回发期间保存变量值的首选方法是什么?我应该把它保存在会话中吗?还有一件事,如果我想在会话中保存数据表,是否可以继续?在回发期间我可以在哪里服务数据表?@user2661571您可以使用会话或视图状态(如果可用)。就个人而言,我不喜欢在会话中存储大量数据。这可能会对大型站点或共享托管环境造成内存压力。另一个头上的Viewstate序列化数据,因此对可以存储的内容有限制(不过还没有尝试使用Datatables)。它不会占用存储内存,但会使页面变大,并且必须在每次回发/响应时发送,因此会使用bandwith。在大多数情况下,我会存储绝对最小值,并在需要时检索其余值。因此,如果我不想在所有用户之间共享特定变量,那么在回发期间保存变量值的首选方法是什么?我应该把它保存在会话中吗?还有一件事,如果我想在会话中保存数据表,是否可以继续?在回发期间我可以在哪里服务数据表?@user2661571您可以使用会话或视图状态(如果可用)。就个人而言,我不喜欢在会话中存储大量数据。这可能会对大型站点或共享托管环境造成内存压力。另一个头上的Viewstate序列化数据,因此对可以存储的内容有限制(不过还没有尝试使用Datatables)。它不会占用存储内存,但会使页面变大,并且必须在每次回发/响应时发送,因此会使用bandwith。在大多数情况下,我会存储绝对最小值,并在需要时检索其余值。
    private static List<string> _Process;
    public List<string> Process
    {
        get { return _Process; }
        set { _Process = value; }
    }

    private static string _IDsCombination;
    public string IDsCombination
    {
        get { return _IDsCombination; }
        set { _IDsCombination = value; }
    }

    private static int _QCID;
    public int QCID
    {
        get { return _QCID; }
        set { _QCID = value; }
    }