Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / InfoCardListRequest.cs / 1 / InfoCardListRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections.Generic; using System.IO; class InfoCardListRequest : UIAgentRequest { InfoCardPolicy m_policy; IListm_allCards; public InfoCardListRequest( IntPtr rpcHandle, Stream inArgs, Stream outArgs, ClientUIRequest parent ) : base( rpcHandle, inArgs, outArgs, parent ) { } protected override void OnInitializeAsSystem() { base.OnInitializeAsSystem(); m_policy = GetPolicy(); } protected override void OnMarshalInArgs() { // // Nothing to marshall // } protected override void OnProcess() { // // Get the full list of all infocards. // IList rows = ( IList ) GetAllCards(); if ( null != rows && 0 != rows.Count ) { IList cards = new List ( rows.Count ); for ( int i = 0; i < rows.Count; i++ ) { byte[ ] rawForm = rows[ i ].GetDataField(); try { using ( MemoryStream stream = new MemoryStream( rawForm ) ) { cards.Add( new InfoCard( stream ) ); } } finally { Array.Clear( rawForm, 0, rawForm.Length ); } } m_allCards = cards; } } protected override void OnMarshalOutArgs() { Stream stream = OutArgs; BinaryWriter writer = new BinaryWriter( stream ); if ( null != m_allCards && 0 != m_allCards.Count ) { StoreConnection connection = StoreConnection.GetConnection(); try { // // write thte count of the array. // writer.Write( m_allCards.Count ); for ( int i = 0; i < m_allCards.Count; i++ ) { // // Flush the writer to ensure that all data // is committed to the base stream before // we pass the base stream into the card. // writer.Flush(); m_allCards[ i ].AgentSerialize( stream, ( ParentRequest is GetTokenRequest ), m_policy, connection, new System.Globalization.CultureInfo( ParentRequest.UserLanguage ) ); } writer.Flush(); } finally { if ( null != m_allCards ) { foreach ( InfoCard icard in m_allCards ) { icard.ClearSensitiveData(); } } connection.Close(); } } else { // // write the count of the array as 0. // writer.Write( 0 ); } } IList GetAllCards() { StoreConnection connection = StoreConnection.GetConnection(); try { return ( IList ) connection.Query( QueryDetails.FullRow, connection.LocalDataSource, new QueryParameter( SecondaryIndexDefinition.ObjectTypeIndex, (Int32) StorableObjectType.InfoCard ) ); } finally { connection.Close(); } } } } // 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
- VisualBrush.cs
- ThreadAttributes.cs
- WebServiceMethodData.cs
- UInt32.cs
- ClockController.cs
- OutputCacheProviderCollection.cs
- Floater.cs
- FrameworkContentElement.cs
- ChannelSinkStacks.cs
- PermissionSetEnumerator.cs
- SchemaMapping.cs
- RelatedView.cs
- QueryableFilterUserControl.cs
- ConnectionsZoneAutoFormat.cs
- PartialCachingControl.cs
- SQLMembershipProvider.cs
- RequestDescription.cs
- QueryCacheEntry.cs
- ConfigurationErrorsException.cs
- ObjectItemAttributeAssemblyLoader.cs
- NativeWrapper.cs
- XmlSerializerOperationFormatter.cs
- TimeIntervalCollection.cs
- RelationshipConverter.cs
- ImageAttributes.cs
- Pens.cs
- ProfileInfo.cs
- TableRowGroup.cs
- MatrixValueSerializer.cs
- SQlBooleanStorage.cs
- shaperfactoryquerycacheentry.cs
- PartitionedStream.cs
- DynamicFilterExpression.cs
- DataColumnMapping.cs
- SafeRightsManagementQueryHandle.cs
- GridErrorDlg.cs
- MatrixStack.cs
- ContextMenuStrip.cs
- FontCollection.cs
- ProxyOperationRuntime.cs
- SafeCancelMibChangeNotify.cs
- ZoneLinkButton.cs
- MachineKeySection.cs
- WebBrowserPermission.cs
- MediaElementAutomationPeer.cs
- ControlParser.cs
- TextSelectionHelper.cs
- DBPropSet.cs
- ActivityStatusChangeEventArgs.cs
- AssemblyResourceLoader.cs
- ExternalDataExchangeClient.cs
- QilValidationVisitor.cs
- SettingsProviderCollection.cs
- PageCodeDomTreeGenerator.cs
- ObjectPersistData.cs
- SiteMapHierarchicalDataSourceView.cs
- TextSelectionHighlightLayer.cs
- ArithmeticException.cs
- Blend.cs
- ObjectSelectorEditor.cs
- PolyLineSegmentFigureLogic.cs
- ResourceLoader.cs
- DiscoveryDocumentLinksPattern.cs
- TranslateTransform.cs
- TraceSection.cs
- EntityAdapter.cs
- DataPointer.cs
- FloaterParaClient.cs
- ApplicationFileCodeDomTreeGenerator.cs
- InputLanguageProfileNotifySink.cs
- CounterSetInstanceCounterDataSet.cs
- GridViewItemAutomationPeer.cs
- XmlSchemaParticle.cs
- SweepDirectionValidation.cs
- CompiledAction.cs
- ProvidersHelper.cs
- ChangeTracker.cs
- XmlNodeWriter.cs
- DataSourceXmlSerializationAttribute.cs
- DictionaryContent.cs
- ReturnValue.cs
- SecurityContext.cs
- SHA512Managed.cs
- ImageClickEventArgs.cs
- RequestBringIntoViewEventArgs.cs
- LinkedList.cs
- _CommandStream.cs
- PolyLineSegment.cs
- RotateTransform.cs
- ProxyHelper.cs
- CaseStatement.cs
- FileIOPermission.cs
- MouseGesture.cs
- DesignerObjectListAdapter.cs
- CrossContextChannel.cs
- GridViewItemAutomationPeer.cs
- FormView.cs
- List.cs
- DataGridViewSelectedCellCollection.cs
- Helper.cs