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
- TypeSystem.cs
- TransformerTypeCollection.cs
- DesignerSerializerAttribute.cs
- InvalidComObjectException.cs
- XNodeNavigator.cs
- BaseHashHelper.cs
- Span.cs
- _FixedSizeReader.cs
- DocumentPropertiesDialog.cs
- FacetValueContainer.cs
- HtmlHead.cs
- PromptStyle.cs
- ToolbarAUtomationPeer.cs
- WhitespaceSignificantCollectionAttribute.cs
- TimerElapsedEvenArgs.cs
- HttpProtocolImporter.cs
- SqlComparer.cs
- SectionInformation.cs
- EntityContainerRelationshipSet.cs
- mda.cs
- TransactionFlowAttribute.cs
- TailPinnedEventArgs.cs
- BitStream.cs
- followingsibling.cs
- Track.cs
- AlternateViewCollection.cs
- PeerNameRecordCollection.cs
- ValidatedControlConverter.cs
- ServiceOperation.cs
- BinaryConverter.cs
- Menu.cs
- HtmlElement.cs
- FieldNameLookup.cs
- ErrorItem.cs
- ListViewEditEventArgs.cs
- ChtmlFormAdapter.cs
- InvokeMethod.cs
- NullableLongSumAggregationOperator.cs
- ValidationVisibilityAttribute.cs
- RedirectionProxy.cs
- Attributes.cs
- DataSysAttribute.cs
- BufferBuilder.cs
- DocumentEventArgs.cs
- IdentityModelStringsVersion1.cs
- _AutoWebProxyScriptWrapper.cs
- SerialStream.cs
- PDBReader.cs
- CodePageEncoding.cs
- MembershipPasswordException.cs
- ClientFormsAuthenticationCredentials.cs
- FeatureSupport.cs
- DescendantQuery.cs
- IInstanceTable.cs
- MetaTable.cs
- ICollection.cs
- ItemContainerGenerator.cs
- ConfigurationSettings.cs
- MgmtConfigurationRecord.cs
- SqlConnectionPoolProviderInfo.cs
- WebPartDisplayModeCancelEventArgs.cs
- XmlDataSourceDesigner.cs
- InputLanguage.cs
- MulticastDelegate.cs
- IntegrationExceptionEventArgs.cs
- XMLSyntaxException.cs
- ProxyWebPartManagerDesigner.cs
- NestPullup.cs
- PointConverter.cs
- DeviceContext2.cs
- AstNode.cs
- ParseHttpDate.cs
- TransactionScope.cs
- FileSystemEnumerable.cs
- TableSectionStyle.cs
- OutputCacheModule.cs
- PrinterResolution.cs
- LinkLabelLinkClickedEvent.cs
- BooleanConverter.cs
- ExtendedPropertyDescriptor.cs
- CacheEntry.cs
- WebServiceData.cs
- HostUtils.cs
- TextViewBase.cs
- KernelTypeValidation.cs
- FullTextLine.cs
- SqlCacheDependencyDatabaseCollection.cs
- ApplicationDirectory.cs
- filewebrequest.cs
- SqlConnectionStringBuilder.cs
- UpdateRecord.cs
- RequestQueue.cs
- StoreContentChangedEventArgs.cs
- coordinatorscratchpad.cs
- TrackingParameters.cs
- PreApplicationStartMethodAttribute.cs
- FormsIdentity.cs
- ConditionChanges.cs
- GuidConverter.cs
- CalendarDateChangedEventArgs.cs