Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / SMSvcHost / System / ServiceModel / Activation / NamedPipeWorkerProcess.cs / 1 / NamedPipeWorkerProcess.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using System; using System.Diagnostics; using System.Globalization; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Diagnostics; using System.ServiceModel.Activation.Diagnostics; using EventLogCategory = System.ServiceModel.Diagnostics.EventLogCategory; using EventLogEventId = System.ServiceModel.Diagnostics.EventLogEventId; class NamedPipeWorkerProcess : WorkerProcess { protected override DuplicateContext DuplicateConnection(ListenerSessionConnection session) { bool success = false; IntPtr dupedPipe = IntPtr.Zero; try { dupedPipe = (IntPtr)session.Connection.DuplicateAndClose(this.ProcessId); success = true; } #pragma warning suppress 56500 // covered by FxCOP catch (Exception exception) { if (DiagnosticUtility.IsFatal(exception)) { throw; } // this normally happens if: // A) we don't have rights to duplicate handles to the WorkerProcess NativeErrorCode == 87 // B) we fail to duplicate handle because the WorkerProcess is exiting/exited NativeErrorCode == ??? // - in the self hosted case: report error to the client // - in the web hosted case: roundrobin to the next available WorkerProcess (if this WorkerProcess is down?) #if DEBUG if (exception is CommunicationException) { int errorCode = ((System.IO.PipeException)exception.InnerException).ErrorCode; Debug.Print("NamedPipeWorkerProcess.DuplicateConnection() failed duplicating pipe for processId: " + this.ProcessId + " errorCode:" + errorCode + " exception:" + exception.Message); } #endif if (DiagnosticUtility.ShouldTraceError) { ListenerTraceUtility.TraceEvent(TraceEventType.Error, TraceCode.MessageQueueDuplicatedPipe, this, exception); } } if (success) { if (DiagnosticUtility.ShouldTraceInformation) { ListenerTraceUtility.TraceEvent(TraceEventType.Information, TraceCode.MessageQueueDuplicatedPipe, this); } return new NamedPipeDuplicateContext(dupedPipe, session.Via, session.Data); } return null; } protected override void OnDispatchSuccess() { ListenerPerfCounters.IncrementConnectionsDispatchedNamedPipe(); } protected override TransportType TransportType { get { return TransportType.NamedPipe; } } } } // 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
- ItemCollection.cs
- ListDictionaryInternal.cs
- TimeZone.cs
- EventSetter.cs
- InputScope.cs
- GenericWebPart.cs
- AssemblyResourceLoader.cs
- SafeRegistryHandle.cs
- ApplicationHost.cs
- UpdatePanel.cs
- OleDbReferenceCollection.cs
- TableHeaderCell.cs
- TextSelectionHelper.cs
- ImportCatalogPart.cs
- KeyValueConfigurationElement.cs
- CompiledQuery.cs
- TrackingConditionCollection.cs
- ChangeConflicts.cs
- GridItem.cs
- ellipse.cs
- PropertyMetadata.cs
- Cloud.cs
- BoundsDrawingContextWalker.cs
- PolicyConversionContext.cs
- InfoCardCryptoHelper.cs
- IPipelineRuntime.cs
- MulticastNotSupportedException.cs
- InternalsVisibleToAttribute.cs
- PropertyValueChangedEvent.cs
- CodeDelegateInvokeExpression.cs
- StateManagedCollection.cs
- InputManager.cs
- Utils.cs
- TrustLevelCollection.cs
- CacheDependency.cs
- ResourceFallbackManager.cs
- SequenceFullException.cs
- GestureRecognitionResult.cs
- Contracts.cs
- RightsManagementEncryptedStream.cs
- WindowsClaimSet.cs
- Mappings.cs
- TextBlockAutomationPeer.cs
- PrivilegeNotHeldException.cs
- PreparingEnlistment.cs
- DbLambda.cs
- SendActivityDesigner.cs
- DataGridTemplateColumn.cs
- VisualBrush.cs
- BitArray.cs
- HtmlMobileTextWriter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- WebControlToolBoxItem.cs
- XmlExtensionFunction.cs
- ComAwareEventInfo.cs
- DataBinding.cs
- DiscoveryVersion.cs
- DocumentSequenceHighlightLayer.cs
- UrlAuthFailedErrorFormatter.cs
- PersonalizationProviderCollection.cs
- HtmlTableRow.cs
- EmptyReadOnlyDictionaryInternal.cs
- OleDbPropertySetGuid.cs
- DynamicMetaObject.cs
- Positioning.cs
- WizardForm.cs
- __ComObject.cs
- NonVisualControlAttribute.cs
- MetabaseServerConfig.cs
- GridViewPageEventArgs.cs
- DefaultProxySection.cs
- TypeNameParser.cs
- SqlTransaction.cs
- OptimisticConcurrencyException.cs
- ExceptionHelpers.cs
- sqlinternaltransaction.cs
- BCLDebug.cs
- WorkflowValidationFailedException.cs
- processwaithandle.cs
- XmlCustomFormatter.cs
- DockingAttribute.cs
- WS2007FederationHttpBindingElement.cs
- SimpleWorkerRequest.cs
- ProcessStartInfo.cs
- DesignerForm.cs
- PreProcessor.cs
- DateTimeUtil.cs
- MouseDevice.cs
- ThreadLocal.cs
- TextHidden.cs
- DataProtectionSecurityStateEncoder.cs
- ObjectDataProvider.cs
- DeclarativeCatalogPart.cs
- FlowchartDesigner.Helpers.cs
- AuthenticationSchemesHelper.cs
- DockProviderWrapper.cs
- DataMemberAttribute.cs
- TextBox.cs
- UnsafeNetInfoNativeMethods.cs
- CompiledQuery.cs