Передача переменных среды в слой доступа к данным - PullRequest
0 голосов
/ 06 апреля 2009

Каждой хранимой процедуре, которую мы пишем, должны быть переданы клиентская подсказка, serverip, имя пользователя Windows и т. Д.

Вопрос в том, как мне эффективно передать их в DAL?

Ответы [ 3 ]

1 голос
/ 06 апреля 2009

Я предполагаю, что это веб-приложение в ASP.NET. Если это так, у вас есть доступ ко всем этим в контексте веб-запроса вне веб-приложения через следующий статический экземпляр:

System.Web.HttpContext.Current

Если все, что вам нужно, это стандартные вещи, которые вы обычно имеете в объектах Request, Response и User, которые доступны по умолчанию на уровне страницы, то это должно быть все, что вам нужно. Если вам нужна информация, настраиваемая для вашего веб-приложения, ответ Бена (см. Выше) должен работать.

0 голосов
/ 06 апреля 2009

Создайте класс для хранения этих данных, фабрику для их создания и вспомогательные методы для их использования.

IUserContext
{
int param1 {get;set;}
int param2 {get;set;}

SqlParameter[] GetSqlParameters();
}

UserContext : IUserContext{}

UserContextFactory
{
    internal IUserContext IUserContextFromRequest(){}
}

Удачи

0 голосов
/ 06 апреля 2009

У вас должны быть все вышеперечисленные данные, доступные либо в классе System.Environment, либо в каком-то вашем собственном Принципале Потока. Ваш DAL может легко подключиться из обоих или из этих источников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...