• asp.net中同时访问带有静态类型变量情况的区别与理解


    c#中,有很强的数据类型,而数据类型又分为静态和非静态。这里我们讨论下静态类型中的访问情况。

    页面test.aspx

    代码如下:


     1     public static int testid;
     2 
     3     protected void Page_Load(object sender, EventArgs e)
     4 
     5     {
     6 
     7         testid = int.Parse(Request.QueryString["testid"]);
     8 
     9         for (int i = 0; i < 99999999; i++)
    10 
    11         {
    12 
    13         }
    14 
    15         Response.Write(testid);
    16 
    17     }

     

    同时打开2个页面输入地址

    1. test.aspx?testid=1

    2.       test.aspx?testid=2

     

    结果

    1. test.aspx?testid=1 显示 1

    2. test.aspx?testid=2 显示 1

    修改后:


     1     public int testid;
     2 
     3     protected void Page_Load(object sender, EventArgs e)
     4 
     5     {
     6 
     7         testid = int.Parse(Request.QueryString["testid"]);
     8 
     9         for (int i = 0; i < 99999999; i++)
    10 
    11         {
    12 
    13 }
    14 
    15         Response.Write(testid);
    16 
    17     }

     

    结果:

    同时打开2个页面输入地址

    1. test.aspx?testid=1

    2.       test.aspx?testid=2

     

    结果

    3. test.aspx?testid=1 显示 1

    4. test.aspx?testid=2 显示 2

    正常

    原因分析

    差别就在与第一种方法用了,static静态类型,而第二种没有,这种情况说,在c#中,静态类型的数据类型在程序运行时是共享的。而非静态类型多个页面同时执行是互不影响的,一个页面请求操作分配一个内存空间,而static在所有的请求中只分陪一次内存空间,从而节省资源。

    综上所属正确使用数据类型在合理利用服务器资源是很重要的。

    原文地址:http://www.joleye.com/viewinfo-520.aspx

  • 相关阅读:
    Requests发送带cookies请求
    Python3 + requests + unittest接口测试
    「完结篇」网络爬虫+实时监控+推送微信
    「爬虫」从某网站爬取数据
    定时从某网站爬取压缩包
    如何转载文章...............
    数据库连接远程服务器报错
    记录常用的Java方法
    链接服务器 不同服务器查询,插入数据
    【学习笔记】树状数组
  • 原文地址:https://www.cnblogs.com/jole/p/aspnet_static.html
Copyright © 2020-2023  润新知