我试图以一种结构化的方式减少/避免代码重复,但我遇到了一个有趣的问题。每次我的代码调用一个存储过程时,我需要传递一些变量,这些变量是存储过程共有的,如用户名、域、服务器IP和客户端IP,这些都来自HttpRequest对象或system.environment对象。
由于这些变量需要被传递到每个存储过程中,我的最初想法是创建一个实用类作为数据库包装器,并在每次初始化后传递这些变量,这样我就不必在代码中编写它们。然而问题在于C#类(位于App_Code文件夹中)无法看到HttpRequest对象。当然,我可以将其作为参数传递给包装器,但这将失败创建包装器的整个目的。我错过了什么吗?
我意识到每次调用存储过程重复4行代码并不是什么大问题,但我宁愿在早期阶段消除代码重复。
由于这些变量需要被传递到每个存储过程中,我的最初想法是创建一个实用类作为数据库包装器,并在每次初始化后传递这些变量,这样我就不必在代码中编写它们。然而问题在于C#类(位于App_Code文件夹中)无法看到HttpRequest对象。当然,我可以将其作为参数传递给包装器,但这将失败创建包装器的整个目的。我错过了什么吗?
我意识到每次调用存储过程重复4行代码并不是什么大问题,但我宁愿在早期阶段消除代码重复。