Ho passato le ultime ore a leggere sull'uso delle classi static
e ho cercato di capire se dovevo usarle o meno, ma non sono ancora arrivato a nessuna conclusione. Sembra che l'argomento potrebbe andare in entrambi i modi. Nella mia applicazione ho creato quelle che chiamo "classi helper" che contengono metodi che svolgeranno compiti molto comuni per me e verrebbero richiamati attraverso la mia applicazione ( ASP.Net MVC
Web App usando C#
) e la semplice domanda è, dovrebbe sono davvero statici o no?
Ecco un esempio di uno dei miei aiutanti.
public static class ActiveDirectoryHelper
{
public static PrincipalContext GetPrincipalContext(string ouName)
{
var fullOUName = string.Concat("OU=", ouName,",DC=");
return new PrincipalContext(ContextType.Domain, "", fullOUName, ConfigurationManager.AppSettings["ServiceAccountUser"], ConfigurationManager.AppSettings["ServiceAccountPassword"]);
}
public static PrincipalSearcher GetAllUsersInOU(string ouName)
{
var principalContext = GetPrincipalContext(ouName);
var userPrincipal = new UserPrincipal(principalContext);
return new PrincipalSearcher(userPrincipal);
}
public static UserPrincipal GetUserPrincipal(string userName, string ouName)
{
var principalContext = GetPrincipalContext(ouName);
return UserPrincipal.FindByIdentity(principalContext, userName);
}
}