Adamlardan harika yanıtlar ama sizi her zaman oturuma güvenmeye karşı uyarırdım. Bunu yapmak hızlı ve kolaydır ve elbette işe yarar, ancak tüm cicrums'larda harika olmaz.
Örneğin, barındırma hizmetinizin oturum kullanımına izin vermediği bir senaryoda çalışıyorsanız veya bir web çiftliğinde veya paylaşılan bir SharePoint uygulaması örneğinde bulunuyorsanız.
Farklı bir çözüm istiyorsanız , Castle Windsor gibi bir IOC Container'ı kullanabilirsiniz. , bir sarıcı olarak bir sağlayıcı sınıfı oluşturabilir ve ardından gereksinimlerinize bağlı olarak istek başına veya oturum yaşam tarzını kullanarak sınıfınızın bir örneğini tutabilirsiniz.
IOC, her seferinde aynı örneğin döndürülmesini sağlayacaktır.
Daha karmaşık evet, basit bir çözüme ihtiyacınız varsa sadece oturumu kullanın.
Aşağıda ilgi çekici olmayan bazı uygulama örnekleri verilmiştir.
Bu yöntemi kullanarak, aşağıdaki satırlarda bir sağlayıcı sınıfı oluşturabilirsiniz:
public class CustomClassProvider : ICustomClassProvider
{
public CustomClassProvider(CustomClass customClass)
{
CustomClass = customClass;
}
public string CustomClass { get; private set; }
}
Ve şöyle bir şey kaydedin:
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
Component.For<ICustomClassProvider>().UsingFactoryMethod(
() => new CustomClassProvider(new CustomClass())).LifestylePerWebRequest());
}