У нас есть пользовательская DLL, реализованная IHttpModule
для обработки httpApplication_EndRequest
, что я хочу знать, это
В DLL есть класс (не статический класс), который имеет статическое свойство и используется для создания экземпляра статической переменной / ссылки на объект, определенной внутри класса.
Теперь мне нужно заблокировать статическое свойство перед созданием экземпляра для статического объекта / переменной?
Например: -
public class SPEnvironment : IEnvironment
{
private static SPEnvironment _instance;
private static object _syncRoot = new object();
private SPEnvironment()
{
try {
.....
}
finally {
......
}
}
public static SPEnvironment Instance
{
get
{
if (_instance == null)
{
lock (_syncRoot)
{
if (_instance == null)
{
_instance = new SPEnvironment();
}
}
}
return _instance;
}
}
}
Я буду вызывать это из другого класса, как показано ниже
SPEnvironment.Instance;
Это правильный путь? или замок надо снять?