none
网站使用静态实例的问题,这样会有问题吗?想不懂了... RRS feed

  • 问题

  • 今天看一个同事写的代码.是一个小网站,三层架构的那种...代码如下:
      
    在ASPX里:
    protected void xxx1_Click(object sender, EventArgs e)
            {
                IList<Model.Category> list = Swdl.BLL.CategoryBLL.Value.GetAllList();    
            }
    
    


    BLL层的大致方法:
    namespace Swdl.BLL
    {
    public partial class CategoryBLL
    	{
    private static CategoryBLL _value;
    //静态BLL成员
            public static CategoryBLL Value
            {
    get{
    if (CategoryBLL._value == null)
                        CategoryBLL._value = new CategoryBLL();
                    return CategoryBLL._value;}}
    
            public IList<Model.Category>GetAllList(){ return CategoryDAL.Value.GetAllList();}
    
    }
    }
    


    在DLL层的大致方法:
    namespace Swdl.DAL
    {
    	public partial class CategoryDAL
    	{private static CategoryDAL _value;
            public static CategoryDAL Value
            {
                get
                {
                    if (CategoryDAL._value == null)
                        CategoryDAL._value = new CategoryDAL();
                    return CategoryDAL._value;
                }
            }
    
    public IList<Model.Category>GetAllList(){ //数据库操作代码}
    }
    }
    

    实在不太明白,这样的话每个BLL/DLL层的类网站只有一个实例,我就是想问,这样不会出现什么问题吗?比如说:一个请求需要很长时间处理完的话,后面的请求会不会等结束了才会处理,或者线程方面的问题..

    我失业了,因为我决定转行。外面大雪纷飞,我的种子在慢慢发芽。
    2012年1月14日 7:37

答案