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
- AttributeTable.cs
- SoapConverter.cs
- SafeArrayRankMismatchException.cs
- FlowDocumentReader.cs
- TaiwanLunisolarCalendar.cs
- WebServiceErrorEvent.cs
- Permission.cs
- ArrayWithOffset.cs
- Knowncolors.cs
- FontInfo.cs
- AttributeUsageAttribute.cs
- SqlRewriteScalarSubqueries.cs
- IMembershipProvider.cs
- ToolStripItemBehavior.cs
- HTTPNotFoundHandler.cs
- IPEndPoint.cs
- InputLanguageManager.cs
- TextRenderingModeValidation.cs
- UrlPropertyAttribute.cs
- RunWorkerCompletedEventArgs.cs
- TypeDefinition.cs
- FormViewCommandEventArgs.cs
- HeaderLabel.cs
- BitmapEffectDrawingContent.cs
- WpfGeneratedKnownTypes.cs
- CommandID.cs
- GridViewDeletedEventArgs.cs
- EdmComplexPropertyAttribute.cs
- AttachedPropertiesService.cs
- WindowsListViewGroupHelper.cs
- GACIdentityPermission.cs
- QuaternionKeyFrameCollection.cs
- TextFormatterContext.cs
- FrameworkElementFactory.cs
- XmlSchemaCollection.cs
- RemoteWebConfigurationHostStream.cs
- RtfControlWordInfo.cs
- FixedPageAutomationPeer.cs
- RequiredAttributeAttribute.cs
- Roles.cs
- DictionaryEntry.cs
- EasingKeyFrames.cs
- DataGridViewSortCompareEventArgs.cs
- ControlLocalizer.cs
- FilterException.cs
- CommandDevice.cs
- ListBindingHelper.cs
- DataControlButton.cs
- XmlILModule.cs
- HttpCachePolicyWrapper.cs
- CaretElement.cs
- WebBrowserContainer.cs
- GetIsBrowserClientRequest.cs
- OdbcRowUpdatingEvent.cs
- ListItemParagraph.cs
- AlgoModule.cs
- OdbcConnectionPoolProviderInfo.cs
- DrawingCollection.cs
- WmpBitmapDecoder.cs
- SimpleMailWebEventProvider.cs
- GridViewUpdateEventArgs.cs
- Font.cs
- StylusPoint.cs
- IgnoreDataMemberAttribute.cs
- VisualTreeHelper.cs
- HostProtectionPermission.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- XmlWellformedWriterHelpers.cs
- KeyboardDevice.cs
- SqlMethods.cs
- CodeStatement.cs
- CacheDependency.cs
- TouchDevice.cs
- GridView.cs
- SymLanguageType.cs
- WarningException.cs
- ILGenerator.cs
- MappingException.cs
- DesignerSerializerAttribute.cs
- StringSource.cs
- SynchronizationContext.cs
- SoapProtocolImporter.cs
- RemoteWebConfigurationHostStream.cs
- FontFaceLayoutInfo.cs
- RNGCryptoServiceProvider.cs
- FileDialogPermission.cs
- ShaperBuffers.cs
- CheckedListBox.cs
- XmlStreamStore.cs
- SchemaType.cs
- ValidationError.cs
- ConfigPathUtility.cs
- XmlTypeAttribute.cs
- ScheduleChanges.cs
- SafeRightsManagementPubHandle.cs
- BuildResultCache.cs
- CollectionViewGroupRoot.cs
- ScanQueryOperator.cs
- XmlUnspecifiedAttribute.cs
- RightNameExpirationInfoPair.cs