public static SiteUser LoadCurrentUser() { ... if (userService_ == null) { lock (userServiceMx_) { if (userService_ == null) { IUserService service = ContainerWebAccessorUtil.Container.Resolve<IUserService>(); Thread.MemoryBarrier(); // ^ makes sure all out-of-order writes have completed userService_ = service; } } } return userService_.GetSiteUserByUid(new Guid(HttpContext.Current.User.Identity.Name)); }
... private static object userServiceMx_ = new object(); Cheers, Stoyan On 4/26/07, Paul Cowan <[EMAIL PROTECTED]> wrote:
Hi, I have the following class: public sealed class UserHelper { private static IUserService _userService; public static SiteUser LoadCurrentUser() { if ((HttpContext.Current.User == null) || (!HttpContext.Current.User.Identity.IsAuthenticated)) throw new Exception("User is not authenticated."); if (_userService == null) _userService = ContainerWebAccessorUtil.Container.Resolve<IUserService>(); return _userService.GetSiteUserByUid(new Guid(HttpContext.Current.User.Identity.Name)); } } My question is, is this method thread safe from an ASP.NET application? Thanks Paul [EMAIL PROTECTED]
=================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com