WorkflowHostingEndpoint Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
soyut uygulaması ServiceEndpoint. İş akışı oluşturmayı ve yer işareti yeniden başlatmayı destekleyen sözleşmeleri kullanıma açmak için bu sınıftan türetilir.
public ref class WorkflowHostingEndpoint abstract : System::ServiceModel::Description::ServiceEndpoint
public abstract class WorkflowHostingEndpoint : System.ServiceModel.Description.ServiceEndpoint
type WorkflowHostingEndpoint = class
inherit ServiceEndpoint
Public MustInherit Class WorkflowHostingEndpoint
Inherits ServiceEndpoint
- Devralma
- Türetilmiş
Örnekler
Aşağıdaki örnek, sınıfından WorkflowHostingEndpoint bir sınıfın nasıl türetilmiş olduğunu gösterir.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.ServiceModel;
using System.ServiceModel.Activities;
using System.ServiceModel.Channels;
namespace Microsoft.Samples.WF.CreationEndpoint
{
public class CreationEndpoint : WorkflowHostingEndpoint
{
static Uri defaultBaseUri;
public CreationEndpoint(Binding binding, EndpointAddress address)
: base(typeof(IWorkflowCreation), binding, address)
{
}
public CreationEndpoint():this (GetDefaultBinding(),
new EndpointAddress(new Uri(DefaultBaseUri, new Uri(Guid.NewGuid().ToString(), UriKind.Relative))))
{
}
static Uri DefaultBaseUri
{
get
{
if (defaultBaseUri == null)
{
defaultBaseUri = new Uri(string.Format(CultureInfo.InvariantCulture, "net.pipe://localhost/workflowCreationEndpoint/{0}/{1}",
Process.GetCurrentProcess().Id,
AppDomain.CurrentDomain.Id));
}
return defaultBaseUri;
}
}
//defaults to NetNamedPipeBinding
public static Binding GetDefaultBinding()
{
return new NetNamedPipeBinding(NetNamedPipeSecurityMode.None) { TransactionFlow = true };
}
protected override Guid OnGetInstanceId(object[] inputs, OperationContext operationContext)
{
//Create was called by client
if (operationContext.IncomingMessageHeaders.Action.EndsWith("Create"))
{
return Guid.Empty;
}
//CreateWithInstanceId was called by client
else if (operationContext.IncomingMessageHeaders.Action.EndsWith("CreateWithInstanceId"))
{
return (Guid)inputs[1];
}
else
{
throw new InvalidOperationException("Invalid Action: " + operationContext.IncomingMessageHeaders.Action);
}
}
protected override WorkflowCreationContext OnGetCreationContext(object[] inputs, OperationContext operationContext, Guid instanceId, WorkflowHostingResponseContext responseContext)
{
WorkflowCreationContext creationContext = new WorkflowCreationContext();
if (operationContext.IncomingMessageHeaders.Action.EndsWith("Create"))
{
Dictionary<string, object> arguments = (Dictionary<string, object>)inputs[0];
if (arguments != null && arguments.Count > 0)
{
foreach (KeyValuePair<string, object> pair in arguments)
{
//arguments to pass to the workflow
creationContext.WorkflowArguments.Add(pair.Key, pair.Value);
}
}
//reply to client with instanceId
responseContext.SendResponse(instanceId, null);
}
else if (operationContext.IncomingMessageHeaders.Action.EndsWith("CreateWithInstanceId"))
{
Dictionary<string, object> arguments = (Dictionary<string, object>)inputs[0];
if (arguments != null && arguments.Count > 0)
{
foreach (KeyValuePair<string, object> pair in arguments)
{
//arguments to pass to workflow
creationContext.WorkflowArguments.Add(pair.Key, pair.Value);
}
}
}
else
{
throw new InvalidOperationException("Invalid Action: " + operationContext.IncomingMessageHeaders.Action);
}
return creationContext;
}
}
//service contract exposed from the endpoint
[ServiceContract(Name = "IWorkflowCreation")]
public interface IWorkflowCreation
{
[OperationContract(Name = "Create")]
Guid Create(IDictionary<string, object> inputs);
[OperationContract(Name = "CreateWithInstanceId", IsOneWay=true)]
void CreateWithInstanceId(IDictionary<string, object> inputs, Guid instanceId);
}
}
Oluşturucular
WorkflowHostingEndpoint(Type) |
Belirtilen sözleşme türüyle WorkflowHostingEndpoint sınıfının yeni bir örneğini oluşturur. |
WorkflowHostingEndpoint(Type, Binding, EndpointAddress) |
Belirtilen sözleşme türü, bağlama ve uç nokta adresiyle sınıfının yeni bir örneğini WorkflowHostingEndpoint oluşturur. |
Özellikler
Address |
Hizmet uç noktası için uç nokta adresini alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
Behaviors |
Hizmet uç noktası için davranışları alır. (Devralındığı yer: ServiceEndpoint) |
Binding |
Hizmet uç noktası için bağlamayı alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
Contract |
Hizmet uç noktası için sözleşmeyi alır. (Devralındığı yer: ServiceEndpoint) |
CorrelationQueries |
Örneklerden oluşan CorrelationQuery bir koleksiyon alır. |
EndpointBehaviors |
Hizmet için uç nokta davranışlarını alır. (Devralındığı yer: ServiceEndpoint) |
IsSystemEndpoint |
Hizmet uç noktasının kullanıcı tanımlı olmaktan farklı olarak sistem tarafından oluşturulup oluşturulmadığını alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
ListenUri |
Hizmet uç noktasının dinlediği URI'yi alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
ListenUriMode |
Aktarım işleminin hizmetin dinlemesi için sağlanan URI'yi nasıl işlediğini alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
Name |
Hizmet uç noktasının adını alır veya ayarlar. (Devralındığı yer: ServiceEndpoint) |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnGetCreationContext(Object[], OperationContext, Guid, WorkflowHostingResponseContext) |
Yeni WorkflowCreationContext bir örnek oluşturmak için geçersiz kılın. |
OnGetInstanceId(Object[], OperationContext) |
Oluşturulan iş akışı örneğinin örnek kimliğini döndürmek için geçersiz kılın. |
OnResolveBookmark(Object[], OperationContext, WorkflowHostingResponseContext, Object) |
İş akışı örneğinde sürdürülecek bir yer işareti döndürmek için geçersiz kılın. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |