private static async Task PublishFileScan(int sleepTime) { Guid fileId = Guid.NewGuid(); string fileName = "File.jpg"; using (var client = new ChannelFactoryWrapper<IFileScanning>(new ChannelFactory<IFileScanning>("*"), f => f.CreateChannel())) { await client.Invoke(async c => await c.HandleFileScanRequest(fileId, fileName, sleepTime)); } }
public async Task HandleFileScanRequest(Guid id, string fileName, int sleepTime) { Console.WriteLine($"File Scan Command Received for file Id: {id}"); Console.WriteLine("Sleeping for {0} second(s)", sleepTime / 1000); await Task.Delay(sleepTime); using (var client = new ChannelFactoryWrapper <IFileDelivery>(new ChannelFactory <IFileDelivery>("*"), f => f.CreateChannel())) { await client.Invoke(async c => await c.HandleFileDeliveryRequest(id, fileName)); } }
private static void HostAllServices() { var personDataBase = new PersonDatabase(); var personService = new PersonService(personDataBase); var personServiceHost = new ServiceHost(personService, new Uri(PersonServiceEndPoint)); var personServiceHostBehaviour = personServiceHost.Description.Behaviors.Find <ServiceBehaviorAttribute>(); personServiceHostBehaviour.InstanceContextMode = InstanceContextMode.Single; personServiceHost.Open(); var teamDataBase = new TeamDatabase(); var channelFactoryWrapper = new ChannelFactoryWrapper(); var teamService = new TeamService(teamDataBase, channelFactoryWrapper); var teamServiceHost = new ServiceHost(teamService, new Uri(TeamServiceEndPoint)); var teamServiceHostBehaviour = teamServiceHost.Description.Behaviors.Find <ServiceBehaviorAttribute>(); teamServiceHostBehaviour.InstanceContextMode = InstanceContextMode.Single; teamServiceHost.Open(); }