private static void CreateServices() { if (!_servicesCreated) { lock (typeof(CustomServiceHostFactory)) if (!_servicesCreated) { AtlantaServices.ClearServices(); AtlantaServices.AddAdvisedService <IMediaService>(new MediaService(), new AopAroundAdvice()); _servicesCreated = true; } } }
override public void SetUp() { base.SetUp(); AtlantaServices.ClearServices(); AtlantaServices.AddAdvisedService <IMediaService>(new MediaService(), new AopAroundTestAdvice()); Library library = Library.InstantiateLibrary(); Repository.Add(library); library.Create(Media.InstantiateOrphanedMedia(MediaType.Book, "Book 1", "A test book")); library.Create(Media.InstantiateOrphanedMedia(MediaType.Cd, "CD", "A test cd")); library.Create(Media.InstantiateOrphanedMedia(MediaType.Book, "Book 2", "A test book")); Repository.Flush(); Repository.Clear(); _user = User.InstantiateUser("testServiceUser"); }
/// <summary> /// Overriden to create services /// </summary> protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { CreateServices(); ServiceHost serviceHost = new ServiceHost(AtlantaServices.GetService(serviceType), baseAddresses); serviceHost.Description.Name = serviceType.Name; serviceHost.AddServiceEndpoint(serviceType.ToString(), new BasicHttpBinding(), ""); ServiceBehaviorAttribute serviceBehavior = (ServiceBehaviorAttribute)serviceHost.Description.Behaviors[typeof(ServiceBehaviorAttribute)]; serviceBehavior.InstanceContextMode = InstanceContextMode.Single; serviceBehavior.ConcurrencyMode = ConcurrencyMode.Multiple; ServiceMetadataBehavior metadataBehavior = new ServiceMetadataBehavior(); metadataBehavior.HttpGetEnabled = true; serviceHost.Description.Behaviors.Add(metadataBehavior); ServiceDebugBehavior debugBehavior = (ServiceDebugBehavior)serviceHost.Description.Behaviors[typeof(ServiceDebugBehavior)]; debugBehavior.IncludeExceptionDetailInFaults = true; return(serviceHost); }