2009-04-06 6 views

Répondre

0

Toutes les données ci-dessus doivent être accessibles dans la classe System.Environment ou dans votre propre Thread Principal. Votre DAL peut facilement s'insérer dans l'une ou l'autre de ces sources.

0

Créez une classe pour contenir ces données, une fabrique pour la construire et des méthodes auxiliaires pour la consommer.

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

SqlParameter[] GetSqlParameters(); 
} 

UserContext : IUserContext{} 

UserContextFactory 
{ 
    internal IUserContext IUserContextFromRequest(){} 
} 

Bonne chance

+0

Semblable à ce que je proposais. Fondamentalement, prenez la recommandation de Ben, et faites-la implémenter IPrincipal. Ensuite, vous pouvez le stocker dans le fil et ne pas se soucier de la mettre à jour. – GWLlosa

+0

que voulez-vous dire en le stockant dans le fil? – sarsnake

+0

Je n'ai qu'un thread dans cette application (c'est une application web sans multi-threading). si j'utilise l'approche ci-dessus (que j'aime), cela serait-il persistant? – sarsnake

1

Je suppose que cela est une application Web dans ASP.NET. Si tel est le cas, vous avez accès à toutes ces choses dans le cadre d'une requête Web en dehors de l'application Web par l'instance statique suivante:

System.Web.HttpContext.Current 

Si tout ce que vous avez besoin est une chose standard que vous avez habituellement dans la Les objets Requête, Réponse et Utilisateur qui sont disponibles par défaut au niveau de la page, alors cela devrait être tout ce dont vous avez besoin. Si vous avez besoin d'informations personnalisées pour votre application Web, la réponse de Ben (ci-dessus) devrait fonctionner.

Questions connexes