Дженкинс использует адрес электронной почты System Admin в качестве адреса отправителя для уведомления по электронной почте. Вы можете настроить это в разделе Управление Jenkins -> Configure System . Это находится на заголовке Jenkins Location на этой странице! Не сразу становится очевидным, что этот параметр привязан к настройкам уведомлений по электронной почте, поскольку он не находится в заголовке E-mail уведомления на странице конфигурации.
Current не является статической переменной, ее статическое свойство и свойство get - не что иное, как статический метод, который возвращает текущий контекст.
ASP.NET хранит некоторую информацию с текущим потоком, вы всегда можете получить локальное хранилище потока для хранения информации, которая является статической только в текущем потоке и может быть доступна любым методом только в текущем потоке.
Таким образом, ASP.NET хранит некоторую локальную информацию в потоке, в котором контекст http выполняет запрошенное приложение, и из любого места вызов Current будет извлекать данные локального потока и получать необходимую информацию.
Вы также можете посмотреть атрибут [ThreadStatic]
, который работает почти аналогичным образом.
Обновление
Начиная с ASP.NET 4.5 и более поздних версий, текущий HttpContext
передается через CallContext
вместо [ThreadStatic]
, поэтому контекст остается доступным через out асинхронные вызовы в едином логическом контексте вместо текущего потока, поскольку каждый асинхронный вызов может завершаться в разных потоках.
Вы должны прочитать это сообщение в блоге:
http://odetocode.com/Articles/112.aspx
Раздел, который начинается со следующего, должен вас заинтересовать. Это длинно, иначе я бы процитировал его побольше:
Любопытные из нас будут удивляться, просто как HttpContext.Current может найти контекст для текущего запроса.