0

私たちが作成するすべてのストアド プロシージャには、clientip、serverip、Windows ユーザー名などを渡す必要があります。

問題は、これらを効率的に DAL に渡す方法です。

4

3 に答える 3

1

これは ASP.NET の Web アプリであると想定しています。その場合、次の静的インスタンスを介して、Web アプリケーションの外部の Web 要求のコンテキストでこれらすべてのものにアクセスできます。

System.Web.HttpContext.Current

必要なものがすべて、ページ レベルでデフォルトで使用可能な Request、Response、および User オブジェクトに通常ある標準的なものである場合は、これで十分です。Web アプリに固有の情報が必要な場合は、Ben の回答 (上記) が機能するはずです。

于 2009-04-06T19:32:35.317 に答える
0

System.Environment クラスまたは独自のスレッド プリンシパルで、上記のすべてのデータにアクセスできるようにする必要があります。DAL は、これらのソースの両方またはいずれかから簡単に取り込むことができます。

于 2009-04-06T19:26:38.920 に答える
0

このデータを保持するためのクラス、構築するためのファクトリ、およびそれを使用するためのヘルパー メソッドを作成します。

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

SqlParameter[] GetSqlParameters();
}

UserContext : IUserContext{}

UserContextFactory
{
    internal IUserContext IUserContextFromRequest(){}
}

幸運を

于 2009-04-06T19:27:27.297 に答える