zoukankan      html  css  js  c++  java
  • 项目总结(1)集中处理上下文

    前言 :VSS 团队 沟通
    我们一般在接收传递过来的整数参数的时候,通常可以这样做
    int questionID = Convert.ToInt32(Request["QuestionID"]) 或者
    int questionID = Convert.ToInt32(HttpContext.Current.Request["QuestionID"])
    传递字符也大致相识,通常参数都会比较多,这样我们就必须重复做
    转换参数的工作,如果我们实现一个自己的上下文,集中处理这些参数,
    这样会更好一些,而且还可以对参数进行集中的验证处理,下面简单实现一个
    自定义的上下文

    public class TestContext
    {
        
    int questionID = -1
     ;
        
    public int
     QuestionID
        
    {
            
    get return questionID ; }

        }

        
        
    public static int GetIntFromQueryString(string key)
        
    {
            
    string returnValue = -1
     ;
            
    string queryStringValue =
     String.Empty  ;
            queryStringValue 
    =
     HttpContext.Current.Request.QueryString[key] ;
            
    try

            

                
    //这里可以写一些对该参数的验证代码,比如是否是整数等等

            }

            
    catch {}
            
    return returnValue ;
        }
     
       
        
    public
     TestContext
        

            questionID 
    = GetIntFromQueryString("QuestionID"
    ) ;
        }

        
    //实现current静态属性
        public static TestContext current
        
    {
            
    get

            

                 
    if (HttpContext.Current == null
    )
                      
    return new
     TestContext() ;
                 
                 
    return (TestContext)HttpContext.Current.Items["TestContext"
    ];
            }

        }

    }


    如果我们需要获取questionID,这样就可以了
    int questionID = TestContext.Curent.QuestionID
    另外,这个Context类,不只可以对QueryString,还可以对所有属于上下文的post
    Session等,进行集中处理

    其实集中处理上下文,还有一个好处,就是可以对整个开发团队的参数命名
    进行规范化

    ps:上面的代码是用文本写的,可能会有笔误,并没有进行调试

  • 相关阅读:
    Java中读取.properties配置文件的通用类
    静态工厂方法中单例的延迟加载技术
    AVL树C++实现
    初探Java反射机制
    项目中一个 1 毫秒引发的问题
    用Java操作数据库Datetime数据
    【转】Linux中的EAGAIN含义
    【转】关于编译链接——gcc/g++
    《Linux多线程编程手册》读书笔记
    《Linux多线程服务端编程——使用muduo C++网络库》读书笔记
  • 原文地址:https://www.cnblogs.com/kwklover/p/35597.html
Copyright © 2011-2022 走看看