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
- MimeTypePropertyAttribute.cs
- AspNetSynchronizationContext.cs
- AssemblyHash.cs
- RequestResponse.cs
- ServiceInstallComponent.cs
- CancellationToken.cs
- ThicknessAnimation.cs
- CultureMapper.cs
- NavigationPropertySingletonExpression.cs
- IisTraceListener.cs
- MailDefinition.cs
- HwndSourceParameters.cs
- EventLogPropertySelector.cs
- OleDbRowUpdatingEvent.cs
- CodeNamespace.cs
- XmlIlVisitor.cs
- DbSetClause.cs
- ParserContext.cs
- AmbientValueAttribute.cs
- AncillaryOps.cs
- ButtonField.cs
- AppModelKnownContentFactory.cs
- WebPartDeleteVerb.cs
- RequiredAttributeAttribute.cs
- XmlDocumentSerializer.cs
- TreeNode.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- CodeDelegateInvokeExpression.cs
- BitmapEffect.cs
- TimeoutException.cs
- ProgressBarAutomationPeer.cs
- DbProviderSpecificTypePropertyAttribute.cs
- AuditLogLocation.cs
- DataTemplateKey.cs
- MetadataPropertyCollection.cs
- safelink.cs
- ValidatorCollection.cs
- OpenFileDialog.cs
- DataGridTextBox.cs
- DbReferenceCollection.cs
- ReferentialConstraintRoleElement.cs
- XMLUtil.cs
- StorageInfo.cs
- PassportIdentity.cs
- XhtmlBasicPageAdapter.cs
- MobileControlPersister.cs
- IFlowDocumentViewer.cs
- TypeReference.cs
- NotFiniteNumberException.cs
- SqlNotificationEventArgs.cs
- ValidatorCompatibilityHelper.cs
- XmlArrayItemAttributes.cs
- Matrix.cs
- oledbconnectionstring.cs
- BaseParagraph.cs
- Route.cs
- ExpressionBuilder.cs
- C14NUtil.cs
- XmlSchemaAppInfo.cs
- SparseMemoryStream.cs
- util.cs
- ComAdminInterfaces.cs
- TimeoutConverter.cs
- DbParameterHelper.cs
- EffectiveValueEntry.cs
- UserNameSecurityToken.cs
- XhtmlTextWriter.cs
- SqlResolver.cs
- DelegateInArgument.cs
- TypeExtensions.cs
- WebBaseEventKeyComparer.cs
- Events.cs
- TableLayoutColumnStyleCollection.cs
- TextTreeRootNode.cs
- AuthenticationModuleElementCollection.cs
- PropertyChangedEventManager.cs
- PeerTransportListenAddressValidatorAttribute.cs
- ItemCheckEvent.cs
- ConfigurationSectionCollection.cs
- SQLBytesStorage.cs
- ErrorFormatter.cs
- OperatingSystem.cs
- ZoneMembershipCondition.cs
- Encoding.cs
- MaterialGroup.cs
- EntityClientCacheEntry.cs
- DataGridViewTopRowAccessibleObject.cs
- Peer.cs
- DataGridHyperlinkColumn.cs
- XmlSchemaAttributeGroup.cs
- DispatcherProcessingDisabled.cs
- WebServiceReceive.cs
- UrlAuthFailedErrorFormatter.cs
- RadioButtonRenderer.cs
- bindurihelper.cs
- ControlAdapter.cs
- wgx_exports.cs
- ParameterModifier.cs
- UntypedNullExpression.cs
- HttpChannelHelper.cs