Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Activities / System / ServiceModel / Activities / Description / EtwTrackingBehavior.cs / 1305376 / EtwTrackingBehavior.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.ServiceModel.Activities.Description
{
using System.Activities.Tracking;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Runtime;
using System.ServiceModel.Activation;
using System.ServiceModel.Activities.Tracking;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
[Fx.Tag.XamlVisible(false)]
public class EtwTrackingBehavior : IServiceBehavior
{
public EtwTrackingBehavior()
{
}
public string ProfileName
{
get;
set;
}
public virtual void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection endpoints, BindingParameterCollection bindingParameters)
{
}
public virtual void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
WorkflowServiceHost workflowServiceHost = serviceHostBase as WorkflowServiceHost;
if (null != workflowServiceHost)
{
string workflowDisplayName = workflowServiceHost.Activity.DisplayName;
string hostReference = string.Empty;
if (AspNetEnvironment.Enabled)
{
VirtualPathExtension virtualPathExtension = serviceHostBase.Extensions.Find();
if (virtualPathExtension != null && virtualPathExtension.VirtualPath != null)
{
//Format Website name\Application Virtual Path|\relative service virtual path|serviceName
string name = serviceDescription != null ? serviceDescription.Name : string.Empty;
string application = virtualPathExtension.ApplicationVirtualPath;
//If the application is the root, do not include it in servicePath
string servicePath = virtualPathExtension.VirtualPath.Replace("~", application + "|");
hostReference = string.Format(CultureInfo.InvariantCulture, "{0}{1}|{2}", virtualPathExtension.SiteName, servicePath, name);
}
}
TrackingProfile trackingProfile = this.GetProfile(this.ProfileName, workflowDisplayName);
workflowServiceHost.WorkflowExtensions.Add(
() => new EtwTrackingParticipant
{
ApplicationReference = hostReference,
TrackingProfile = trackingProfile
});
}
}
public virtual void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
}
TrackingProfile GetProfile(string profileName, string displayName)
{
DefaultProfileManager profileManager = new DefaultProfileManager();
return profileManager.GetProfile(profileName, displayName);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridParentRows.cs
- DataGridViewCellStyleConverter.cs
- IPipelineRuntime.cs
- PolicyValidationException.cs
- ManagementOptions.cs
- FontUnitConverter.cs
- ComPlusAuthorization.cs
- TextureBrush.cs
- Exception.cs
- DesignerVerb.cs
- ReadOnlyDataSource.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DatePickerDateValidationErrorEventArgs.cs
- ReaderOutput.cs
- FocusManager.cs
- TemplatingOptionsDialog.cs
- ObjectDataSourceView.cs
- HighlightComponent.cs
- UseLicense.cs
- SymmetricKey.cs
- ApplicationServicesHostFactory.cs
- WindowsMenu.cs
- StylusCollection.cs
- ValidatorCollection.cs
- FormViewCommandEventArgs.cs
- SelectiveScrollingGrid.cs
- MarkupCompilePass1.cs
- ToolStripRenderEventArgs.cs
- SQLInt64Storage.cs
- ContentType.cs
- filewebresponse.cs
- Error.cs
- BindingSourceDesigner.cs
- SinglePageViewer.cs
- GridEntry.cs
- MsmqBindingBase.cs
- RegexInterpreter.cs
- HttpContext.cs
- EntityStoreSchemaFilterEntry.cs
- FixedFlowMap.cs
- SchemaNotation.cs
- PersonalizableAttribute.cs
- versioninfo.cs
- DataTransferEventArgs.cs
- SecurityToken.cs
- AppSettingsReader.cs
- AuthenticationModuleElement.cs
- ValidateNames.cs
- ScopelessEnumAttribute.cs
- Highlights.cs
- PathGeometry.cs
- UpDownBaseDesigner.cs
- TextDataBindingHandler.cs
- PartitionResolver.cs
- CommandHelpers.cs
- TextBounds.cs
- XsdDateTime.cs
- AdornerDecorator.cs
- EntityDataSourceUtil.cs
- BindingCompleteEventArgs.cs
- StringResourceManager.cs
- NavigateUrlConverter.cs
- WindowsAuthenticationEventArgs.cs
- GenericRootAutomationPeer.cs
- AggregateException.cs
- ObjectCacheHost.cs
- TextContainerChangeEventArgs.cs
- ControlCachePolicy.cs
- Classification.cs
- ParserOptions.cs
- HandlerFactoryWrapper.cs
- SchemaEntity.cs
- DataGridViewComboBoxColumn.cs
- CatalogPart.cs
- RtType.cs
- AssociationSetEnd.cs
- SByteStorage.cs
- DataServiceBehavior.cs
- MailWebEventProvider.cs
- SynchronousChannelMergeEnumerator.cs
- RectangleConverter.cs
- ObjectIDGenerator.cs
- DetailsView.cs
- WasHttpHandlersInstallComponent.cs
- SmtpReplyReaderFactory.cs
- ArrayExtension.cs
- XmlSerializableWriter.cs
- SqlPersonalizationProvider.cs
- ConfigurationValidatorAttribute.cs
- ToolStripSplitStackLayout.cs
- DbReferenceCollection.cs
- PropertyRecord.cs
- TileModeValidation.cs
- Nullable.cs
- RegistryDataKey.cs
- FederatedMessageSecurityOverHttp.cs
- NativeCppClassAttribute.cs
- SimpleType.cs
- BuilderInfo.cs
- BindingExpression.cs