static void Main(string[] args) { // Create service host. WorkflowServiceHost host = new WorkflowServiceHost(new CountingWorkflow(), new Uri(hostBaseAddress)); // Add service endpoint. host.AddServiceEndpoint("ICountingWorkflow", new BasicHttpBinding(), ""); // Define SqlWorkflowInstanceStoreBehavior: // Set interval to renew instance lock to 5 seconds. // Set interval to check for runnable instances to 2 seconds. // Instance Store does not keep instances after it is completed. // Select exponential back-off algorithm when retrying to load a locked instance. // Instance state information is compressed using the GZip compressing algorithm. SqlWorkflowInstanceStoreBehavior instanceStoreBehavior = new SqlWorkflowInstanceStoreBehavior(connectionString); instanceStoreBehavior.HostLockRenewalPeriod = new TimeSpan(0, 0, 5); instanceStoreBehavior.RunnableInstancesDetectionPeriod = new TimeSpan(0, 0, 2); instanceStoreBehavior.InstanceCompletionAction = InstanceCompletionAction.DeleteAll; instanceStoreBehavior.InstanceLockedExceptionAction = InstanceLockedExceptionAction.AggressiveRetry; instanceStoreBehavior.InstanceEncodingOption = InstanceEncodingOption.GZip; host.Description.Behaviors.Add(instanceStoreBehavior); // Open service host. host.Open(); // Create a client that sends a message to create an instance of the workflow. ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(hostBaseAddress)); client.start(); Console.WriteLine("(Press [Enter] at any time to terminate host)"); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { Sequence workflow; WorkflowServiceHost host = null; try { workflow = CreateWorkflow(); host = new WorkflowServiceHost(workflow, new Uri("net.pipe://localhost")); ResumeBookmarkEndpoint endpoint = new ResumeBookmarkEndpoint(new NetNamedPipeBinding(NetNamedPipeSecurityMode.None), new EndpointAddress("net.pipe://localhost/workflowCreationEndpoint")); host.AddServiceEndpoint(endpoint); host.Open(); IWorkflowCreation client = new ChannelFactory<IWorkflowCreation>(endpoint.Binding, endpoint.Address).CreateChannel(); //create an instance Guid id = client.Create(null); Console.WriteLine("Workflow instance {0} created",id); //resume bookmark client.ResumeBookmark(id, "hello","Hello World!"); Console.WriteLine("Press return to exit ..."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex); } finally { if (host != null) { host.Close(); } } }
static void Main(string[] args) { Sequence workflow; WorkflowServiceHost host=null; try { workflow = CreateWorkflow(); host = new WorkflowServiceHost(workflow, new Uri("net.pipe://localhost")); CreationEndpoint creationEp = new CreationEndpoint(new NetNamedPipeBinding(NetNamedPipeSecurityMode.None), new EndpointAddress("net.pipe://localhost/workflowCreationEndpoint")); host.AddServiceEndpoint(creationEp); host.Open(); //client using NetNamedPipeBinding IWorkflowCreation client = new ChannelFactory<IWorkflowCreation>(creationEp.Binding, creationEp.Address).CreateChannel(); //client using BasicHttpBinding IWorkflowCreation client2 = new ChannelFactory<IWorkflowCreation>(new BasicHttpBinding(), new EndpointAddress("http://localhost/workflowCreationEndpoint")).CreateChannel(); //create instance Console.WriteLine("Workflow Instance created using CreationEndpoint added in code. Instance Id: {0}", client.Create(null)); //create another instance Console.WriteLine("Workflow Instance created using CreationEndpoint added in config. Instance Id: {0}", client2.Create(null)); Console.WriteLine("Press return to exit ..."); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex); } finally { if (host != null) { host.Close(); } } }
static void Main(string[] args) { Console.WriteLine("Starting up..."); WorkflowService service = CreateService(); WorkflowServiceHost host = new WorkflowServiceHost(service, new Uri("http://localhost:8000/DiscoveryPrintService")); try { // ServiceDiscoveryBehavior and UdpDiscoveryEndpoint are being added through config Console.WriteLine("Opening service..."); host.Open(); Console.WriteLine("To terminate press ENTER"); Console.ReadLine(); host.Close(); } catch (CommunicationException e) { Console.WriteLine(e.Message); } catch (TimeoutException e) { Console.WriteLine(e.Message); } if (host.State != CommunicationState.Closed) { Console.WriteLine("Aborting service..."); host.Abort(); } }
static void Main(string[] args) { string baseAddress = "http://localhost:8081/StopWatchService"; try { using (WorkflowServiceHost host = new WorkflowServiceHost(new StopWatchWorkflow(), new Uri(baseAddress))) { host.Description.Behaviors.Add(new ServiceMetadataBehavior() { HttpGetEnabled = true }); Console.WriteLine("Opening StopWatchService..."); host.Open(); Console.WriteLine("StopWatchService waiting at: " + baseAddress); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); host.Close(); } } catch (AddressAlreadyInUseException) { Console.WriteLine("Error - An error occurred while opening the service. Please ensure that there are no other instances of this service running."); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); } catch (CommunicationObjectFaultedException) { Console.WriteLine("Error - An error occurred while opening the service. Please ensure that there are no other instances of this service running."); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); } }
static void Main(string[] args) { WorkflowServiceHost host = new WorkflowServiceHost(typeof(CustomWorkflowLibrary.Workflow1), new Uri(@"http://localhost:8081/Demo/CustomWorkflowService")); host.Open(); Console.WriteLine("停止するには、キーを入力 . . ."); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { WorkflowServiceHost host = new WorkflowServiceHost(typeof(SupplierWorkflow)); host.Description.Behaviors.Find<WorkflowRuntimeBehavior>().WorkflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e) { Console.WriteLine("WorkflowTerminated: " + e.Exception.Message); }; host.Description.Behaviors.Find<WorkflowRuntimeBehavior>().WorkflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) { Console.WriteLine("WorkflowCompleted."); }; host.Open(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Role: Supplier"); Console.WriteLine("Press <enter> to exit"); Console.ResetColor(); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { string addr = "http://localhost:8080/Service"; using (WorkflowServiceHost host = new WorkflowServiceHost(GetServiceWorkflow())) { host.AddServiceEndpoint(contract, new BasicHttpBinding(), addr); host.Open(); Console.WriteLine("Service waiting at: " + addr); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); host.Close(); } }
static void Main(string[] args) { WorkflowServiceHost workflowHost = new WorkflowServiceHost(typeof(Microsoft.WorkflowServices.Samples.ServiceWorkflow)); workflowHost.Description.Behaviors.Find<WorkflowRuntimeBehavior>().WorkflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e) { Console.WriteLine("WorkflowTerminated: " + e.Exception.Message); }; workflowHost.Description.Behaviors.Find<WorkflowRuntimeBehavior>().WorkflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) { Console.WriteLine("WorkflowCompleted: " + e.WorkflowInstance.InstanceId.ToString()); }; workflowHost.Open(); Console.WriteLine("WorkflowServiceHost is ready."); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Press <enter> to exit."); Console.ResetColor(); Console.ReadLine(); workflowHost.Close(); }
static void Main(string[] args) { // Create service host. WorkflowServiceHost host = new WorkflowServiceHost(new CountingWorkflow2(), new Uri(hostBaseAddress)); // Add service endpoint. host.AddServiceEndpoint("ICountingWorkflow", new BasicHttpBinding(), ""); // Open service host. host.Open(); // Create a client that sends a message to create an instance of the workflow. ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(hostBaseAddress)); client.start(); Console.WriteLine("(Press [Enter] at any time to terminate host)"); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { // Xamlx file is a workflow that waits for a client to call its Start method. // Once called, the workflow counts from 0 to 29, incrementing the counter // every 2 seconds. After every counter increment the workflow persists, // updating the promoted properties in the [InstancePromotedProperties] view. object serviceImplementation = XamlServices.Load("CounterService.xamlx"); using (WorkflowServiceHost host = new WorkflowServiceHost(serviceImplementation)) { host.Open(); // Create a client that sends a message to create an instance of the workflow. ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(ServiceEndpointAddress)); client.Start(); Console.WriteLine("(Press [Enter] at any time to terminate host)"); Console.ReadLine(); host.Close(); } }
// start the service static void Main(string[] args) { string persistenceConnectionString = ConfigurationManager.ConnectionStrings["WorkflowPersistence"].ConnectionString; string baseAddr = "http://localhost:8080/Contoso/HiringRequestService"; using (WorkflowServiceHost host = new WorkflowServiceHost(new HiringRequestProcessServiceDefinition(), new Uri(baseAddr))) { SqlWorkflowInstanceStoreBehavior instanceStoreBehavior = new SqlWorkflowInstanceStoreBehavior(persistenceConnectionString); instanceStoreBehavior.InstanceCompletionAction = InstanceCompletionAction.DeleteAll; instanceStoreBehavior.InstanceEncodingOption = InstanceEncodingOption.GZip; host.Description.Behaviors.Add(instanceStoreBehavior); host.Description.Behaviors.Add(new WorkflowIdleBehavior() { TimeToPersist = new TimeSpan(0) }); host.WorkflowExtensions.Add(new HiringRequestInfoPersistenceParticipant()); // configure the unknown message handler host.UnknownMessageReceived += new EventHandler<System.ServiceModel.UnknownMessageReceivedEventArgs>(Program.UnknownMessageReceive); // add the control endpoint WorkflowControlEndpoint publicEndpoint = new WorkflowControlEndpoint( new BasicHttpBinding(), new EndpointAddress(new Uri("http://127.0.0.1/hiringProcess"))); host.AddServiceEndpoint(publicEndpoint); host.AddDefaultEndpoints(); // start the service Console.WriteLine("Starting ..."); host.Open(); // end when the user hits enter Console.WriteLine("Service is waiting at: " + baseAddr); Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.Close(); } }
static void Main(string[] args) { string baseAddr = "http://localhost:8080/OpScope"; XName serviceContractName = XName.Get("IBankService", "http://bank.org"); WorkflowService svc = new WorkflowService { Name = serviceContractName, Body = new BankService() }; using (WorkflowServiceHost host = new WorkflowServiceHost(svc, new Uri(baseAddr))) { host.AddServiceEndpoint(serviceContractName, new BasicHttpContextBinding(), ""); host.Description.Behaviors.Add(new ServiceMetadataBehavior() { HttpGetEnabled = true }); Console.WriteLine("Starting ..."); host.Open(); Console.WriteLine("Service is waiting at: " + baseAddr); Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.Close(); } }
static void Main(string[] args) { // Create service host. WorkflowServiceHost host = new WorkflowServiceHost(CountingWorkflow(), new Uri(hostBaseAddress)); // Add service endpoint. host.AddServiceEndpoint("ICountingWorkflow", new BasicHttpBinding(), ""); // Define SqlWorkflowInstanceStore and assign it to host. SqlWorkflowInstanceStoreBehavior store = new SqlWorkflowInstanceStoreBehavior(connectionString); List<XName> variantProperties = new List<XName>() { xNS.GetName("Count") }; store.Promote("CountStatus", variantProperties, null); host.Description.Behaviors.Add(store); host.WorkflowExtensions.Add<CounterStatus>(() => new CounterStatus()); host.Open(); // This sample needs to be run with Admin privileges. // Otherwise the channel listener is not allowed to open ports. // See sample documentation for details. // Create a client that sends a message to create an instance of the workflow. ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(hostBaseAddress)); client.start(); Console.WriteLine("(Press [Enter] at any time to terminate host)"); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { Console.Title = "Service"; Console.WriteLine("Starting up"); System.ServiceModel.Activities.WorkflowServiceHost host = new WorkflowServiceHost(GetService()); host.UnknownMessageReceived += new EventHandler<UnknownMessageReceivedEventArgs>(host_UnknownMessageReceived); host.Open(); Console.WriteLine("Press any key to exit"); Console.ReadLine(); host.Close(); }
static void Main(string[] args) { using (WorkflowServiceHost host = new WorkflowServiceHost(GetServiceWorkflow(), new Uri(Constants.ServiceAddress))) { host.Description.Behaviors.Add(new ServiceMetadataBehavior() { HttpGetEnabled = true }); host.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true; host.AddServiceEndpoint(Constants.POContractName, Constants.Binding, Constants.ServiceAddress); host.Open(); Console.WriteLine("FaultService waiting at: " + Constants.ServiceAddress); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); host.Close(); } }
static void Main(string[] args) { using (WorkflowServiceHost host = new WorkflowServiceHost(GetServiceWorkflow(), new Uri(Constants.ServiceAddress))) { host.AddServiceEndpoint(Constants.POContractName, Constants.Binding, Constants.ServiceAddress); host.Open(); Console.WriteLine("Service waiting at: " + Constants.ServiceAddress); Console.WriteLine("Press [ENTER] to exit"); Console.ReadLine(); host.Close(); } }