Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / Hosting / WorkflowWebHostingModule.cs / 1305376 / WorkflowWebHostingModule.cs
/******************************************************************************** // Copyright (C) 2000-2001 Microsoft Corporation. All rights reserved. // // CONTENTS // Workflow Web Hosting Module. // DESCRIPTION // Implementation of Workflow Web Host Module. // REVISIONS // Date Ver By Remarks // ~~~~~~~~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~ // 02/22/05 1.0 [....] Implementation. * ****************************************************************************/ #region Using directives using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Web; using System.Collections.Specialized; using System.Threading; #endregion namespace System.Workflow.Runtime.Hosting { ////// Cookie based rotuing module implementation /// public sealed class WorkflowWebHostingModule : IHttpModule { HttpApplication currentApplication; public WorkflowWebHostingModule() { WorkflowTrace.Host.TraceEvent(TraceEventType.Information, 0, "Workflow Web Hosting Module Created"); } ////// IHttpModule.Init() /// /// void IHttpModule.Init(HttpApplication application) { WorkflowTrace.Host.TraceEvent(TraceEventType.Information, 0, "Workflow Web Hosting Module Initialized"); this.currentApplication = application; //Listen for Acquire and ReleaseRequestState event application.ReleaseRequestState += this.OnReleaseRequestState; application.AcquireRequestState += this.OnAcquireRequestState; } void IHttpModule.Dispose() { } void OnAcquireRequestState(Object sender, EventArgs e) { //Performs Cookie based routing. WorkflowTrace.Host.TraceEvent(TraceEventType.Information, 0, "WebHost Module Routing Begin"); HttpCookie routingCookie = HttpContext.Current.Request.Cookies.Get("WF_WorkflowInstanceId"); if (routingCookie != null) { HttpContext.Current.Items.Add("__WorkflowInstanceId__", new Guid(routingCookie.Value)); } //else no routing information found, it could be activation request or non workflow based request. } void OnReleaseRequestState(Object sender, EventArgs e) { //Saves cookie back to client. HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("WF_WorkflowInstanceId"); if (cookie == null) { cookie = new HttpCookie("WF_WorkflowInstanceId"); Object workflowInstanceId = HttpContext.Current.Items["__WorkflowInstanceId__"]; if (workflowInstanceId != null) { cookie.Value = workflowInstanceId.ToString(); HttpContext.Current.Response.Cookies.Add(cookie); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- KeyEventArgs.cs
- EncodingDataItem.cs
- SocketManager.cs
- ComboBoxAutomationPeer.cs
- ScriptControlManager.cs
- RewritingSimplifier.cs
- StylusPointPropertyInfoDefaults.cs
- SQLChars.cs
- MouseEvent.cs
- NumberFunctions.cs
- DSASignatureFormatter.cs
- LineSegment.cs
- Visual.cs
- ExceptionValidationRule.cs
- GradientSpreadMethodValidation.cs
- PasswordRecoveryDesigner.cs
- StatusBarPanelClickEvent.cs
- ClientScriptManagerWrapper.cs
- ExpressionEditorAttribute.cs
- TextBox.cs
- DataGridViewRowsRemovedEventArgs.cs
- WorkerRequest.cs
- JpegBitmapEncoder.cs
- SqlErrorCollection.cs
- ServiceOperationViewControl.cs
- WebBrowserContainer.cs
- Adorner.cs
- TransformerInfo.cs
- BitmapMetadataBlob.cs
- SqlDataSourceRefreshSchemaForm.cs
- ApplicationFileParser.cs
- ConfigurationLoaderException.cs
- DateTimeUtil.cs
- SemanticKeyElement.cs
- Path.cs
- EarlyBoundInfo.cs
- QuaternionAnimationBase.cs
- BaseCollection.cs
- DesignerVerbCollection.cs
- SqlVersion.cs
- ActivityDesignerAccessibleObject.cs
- TextEndOfLine.cs
- RC2.cs
- SemaphoreFullException.cs
- KnownIds.cs
- Deflater.cs
- LogConverter.cs
- Compiler.cs
- DesignerSerializationVisibilityAttribute.cs
- SessionEndedEventArgs.cs
- FreezableDefaultValueFactory.cs
- RTLAwareMessageBox.cs
- StaticFileHandler.cs
- OleDbFactory.cs
- Filter.cs
- SqlDataSourceQueryEditorForm.cs
- StackBuilderSink.cs
- AssemblyAssociatedContentFileAttribute.cs
- XsltException.cs
- DelegatingChannelListener.cs
- BooleanAnimationBase.cs
- SecUtil.cs
- WebRequest.cs
- WebServiceParameterData.cs
- BlurBitmapEffect.cs
- SchemaNotation.cs
- SynchronizedDispatch.cs
- EtwProvider.cs
- ScrollableControl.cs
- XmlCompatibilityReader.cs
- RelationshipNavigation.cs
- XmlReaderSettings.cs
- MetafileHeaderEmf.cs
- QueryOutputWriter.cs
- RedirectionProxy.cs
- CompilerErrorCollection.cs
- RequestTimeoutManager.cs
- PathStreamGeometryContext.cs
- OperationPickerDialog.designer.cs
- MasterPageCodeDomTreeGenerator.cs
- IndicFontClient.cs
- SecurityDescriptor.cs
- ReflectEventDescriptor.cs
- PropertyInfoSet.cs
- ExpressionNode.cs
- UshortList2.cs
- TypeSystem.cs
- WCFBuildProvider.cs
- MissingSatelliteAssemblyException.cs
- RegisteredExpandoAttribute.cs
- SingleResultAttribute.cs
- AlternateViewCollection.cs
- RetrieveVirtualItemEventArgs.cs
- BinaryMethodMessage.cs
- CharAnimationBase.cs
- DriveNotFoundException.cs
- ProfileServiceManager.cs
- ThicknessAnimationBase.cs
- OracleString.cs
- Bezier.cs