Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / SynchronizationContextHelper.cs / 1305376 / SynchronizationContextHelper.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Runtime; using System.Threading; using System.Security; static class SynchronizationContextHelper { static WFDefaultSynchronizationContext defaultContext; public static SynchronizationContext GetDefaultSynchronizationContext() { if (SynchronizationContextHelper.defaultContext == null) { SynchronizationContextHelper.defaultContext = new WFDefaultSynchronizationContext(); } return SynchronizationContextHelper.defaultContext; } public static SynchronizationContext CloneSynchronizationContext(SynchronizationContext context) { Fx.Assert(context != null, "null context parameter"); WFDefaultSynchronizationContext wfDefaultContext = context as WFDefaultSynchronizationContext; if (wfDefaultContext != null) { Fx.Assert(SynchronizationContextHelper.defaultContext != null, "We must have set the static member by now!"); return SynchronizationContextHelper.defaultContext; } else { return context.CreateCopy(); } } class WFDefaultSynchronizationContext : SynchronizationContext { public WFDefaultSynchronizationContext() { } public override void Post(SendOrPostCallback d, object state) { new SendOrPostCallbackActionItem(d, state).PostWithNoContext(); } public override void Send(SendOrPostCallback d, object state) { d(state); } class SendOrPostCallbackActionItem : ActionItem { SendOrPostCallback callback; object state; public SendOrPostCallbackActionItem(SendOrPostCallback callback, object state) { this.callback = callback; this.state = state; } public void PostWithNoContext() { base.ScheduleWithoutContext(); } protected override void Invoke() { this.callback(state); } } } } } // 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
- ProfileEventArgs.cs
- StrokeDescriptor.cs
- XmlArrayItemAttribute.cs
- FixedSOMPageConstructor.cs
- QuaternionConverter.cs
- DBCSCodePageEncoding.cs
- NetworkInformationPermission.cs
- DataGridViewCellMouseEventArgs.cs
- CryptoApi.cs
- AndCondition.cs
- LastQueryOperator.cs
- BufferedWebEventProvider.cs
- FindRequestContext.cs
- WindowsStreamSecurityUpgradeProvider.cs
- Application.cs
- QuaternionKeyFrameCollection.cs
- ResetableIterator.cs
- BinaryFormatter.cs
- IndexOutOfRangeException.cs
- ReceiveContent.cs
- HandleDictionary.cs
- DockAndAnchorLayout.cs
- OdbcConnectionFactory.cs
- StubHelpers.cs
- CodeEntryPointMethod.cs
- IdentityNotMappedException.cs
- HtmlShim.cs
- RewritingSimplifier.cs
- PageContent.cs
- EntitySqlQueryCacheKey.cs
- SurrogateSelector.cs
- AuthenticationManager.cs
- SmiRequestExecutor.cs
- Base64Stream.cs
- _emptywebproxy.cs
- XmlSchemaInferenceException.cs
- QilInvokeEarlyBound.cs
- SystemThemeKey.cs
- WebPartVerbsEventArgs.cs
- BasePropertyDescriptor.cs
- RadioButtonList.cs
- WorkflowApplicationAbortedException.cs
- DataMemberAttribute.cs
- EventSinkHelperWriter.cs
- Vector3DConverter.cs
- OleDbTransaction.cs
- FlowDocumentFormatter.cs
- SerializerDescriptor.cs
- Vars.cs
- UnsignedPublishLicense.cs
- WebPartTracker.cs
- EntityDataSourceDataSelection.cs
- CompiledRegexRunner.cs
- DocumentDesigner.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- PageCodeDomTreeGenerator.cs
- SoapIgnoreAttribute.cs
- OverflowException.cs
- SqlServices.cs
- MemoryStream.cs
- XmlDocumentSurrogate.cs
- Object.cs
- OleDbTransaction.cs
- SelectionItemProviderWrapper.cs
- SimpleFieldTemplateFactory.cs
- ReaderContextStackData.cs
- UriScheme.cs
- CachingHintValidation.cs
- _ContextAwareResult.cs
- RijndaelManagedTransform.cs
- TextRangeAdaptor.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- InputReportEventArgs.cs
- FieldNameLookup.cs
- DataSourceProvider.cs
- ConfigXmlElement.cs
- SmtpReplyReader.cs
- HttpSessionStateBase.cs
- SmiEventSink_DeferedProcessing.cs
- XmlSchemaFacet.cs
- TimerElapsedEvenArgs.cs
- ExtractorMetadata.cs
- ImageMap.cs
- GroupItemAutomationPeer.cs
- CellTreeNodeVisitors.cs
- SafeHandles.cs
- MailDefinition.cs
- AuthenticationSection.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- SoapIgnoreAttribute.cs
- DeviceSpecificChoiceCollection.cs
- BindingNavigatorDesigner.cs
- DBCommand.cs
- JsonSerializer.cs
- VideoDrawing.cs
- EventItfInfo.cs
- ListViewItemMouseHoverEvent.cs
- HebrewCalendar.cs
- GridViewSelectEventArgs.cs
- AnimationException.cs