Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / ImportRequest.cs / 1 / ImportRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Security.Principal; using System.Diagnostics; using System.Threading; //ManualResetEvent using System.ComponentModel; //Win32Exception using System.IO; //Stream using System.Text; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using Microsoft.InfoCards.Diagnostics; // // This class is an instance of a request to import a card from a file. // It starts up the UI in the 'Import' mode. // class ImportRequest : ClientUIRequest { FileStream m_importFile; //keep a read pointer to the file string m_filename; public ImportRequest( Process callingProcess, WindowsIdentity callingIdentity, InfoCardUIAgent uiAgent, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, uiAgent, rpcHandle, inArgs, outArgs, InfoCardUIAgent.CallMode.Import, ExceptionList.AllNonFatal ) { } public string ImportedFile { get{ return m_filename; } } // // No input args // protected override void OnMarshalInArgs() { BinaryReader breader = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); string filename = Utility.DeserializeString( breader ); if (String.IsNullOrEmpty(filename) || filename.Length > Constants.Maxima.FileNameLength) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.InvalidImportFileName ) ) ); } if( !Path.IsPathRooted( filename ) ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.InvalidImportFileName) ) ); } try { m_filename = filename; m_importFile = new FileStream( m_filename, FileMode.Open, FileAccess.Read, FileShare.Read ); } catch( ArgumentException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( IOException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( NotSupportedException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } catch( UnauthorizedAccessException e ) { throw IDT.ThrowHelperError( new ImportException( SR.GetString( SR.CannotOpenImportFile ), e ) ); } } protected override void OnProcess() { // // ClientUiRequest's member function // StartAndWaitForUIAgent(); } // // No Output args. // protected override void OnMarshalOutArgs() { } protected override void OnDisposeAsUser() { base.OnDisposeAsUser(); if( null != m_importFile ) { m_importFile.Dispose(); m_importFile = null; } } // // Summary // Gets called a) if there was an exception in client processing // or b) if there was an exception in the child's request processing // protected override bool OnHandleException( Exception e, out int errorCode ) { errorCode = 0; bool handled = false; if( e is UserCancelledException ) { errorCode = (e as UserCancelledException).NativeHResult; handled = true; } return handled; } } } // 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
- PageTextBox.cs
- DataBoundControl.cs
- WinEventHandler.cs
- ServiceEndpoint.cs
- ImageBrush.cs
- UnsafeNativeMethods.cs
- MouseGestureValueSerializer.cs
- FileCodeGroup.cs
- GridViewRow.cs
- FlowDocument.cs
- SharedRuntimeState.cs
- ControlType.cs
- AttributeConverter.cs
- HybridObjectCache.cs
- ManipulationStartingEventArgs.cs
- NavigationProperty.cs
- ExceptionRoutedEventArgs.cs
- CodeActivity.cs
- TreeNodeConverter.cs
- EventLogPermissionAttribute.cs
- ILGenerator.cs
- WebBrowserPermission.cs
- HostedHttpRequestAsyncResult.cs
- GlyphCollection.cs
- MarkupObject.cs
- FormsAuthenticationCredentials.cs
- FlowLayoutSettings.cs
- SimpleBitVector32.cs
- AVElementHelper.cs
- DesignerSerializationVisibilityAttribute.cs
- querybuilder.cs
- FixedNode.cs
- CompilerScope.cs
- ArrayList.cs
- InstancePersistenceContext.cs
- __Filters.cs
- Queue.cs
- CodeBlockBuilder.cs
- HttpCookiesSection.cs
- SqlPersonalizationProvider.cs
- SqlStatistics.cs
- DataObjectPastingEventArgs.cs
- ISAPIWorkerRequest.cs
- BufferBuilder.cs
- SerializationInfo.cs
- TextServicesContext.cs
- CommentGlyph.cs
- OutputCacheSection.cs
- GlobalProxySelection.cs
- DuplicateWaitObjectException.cs
- EndpointDispatcherTable.cs
- CryptoStream.cs
- StylusCollection.cs
- RelationshipSet.cs
- InstanceDataCollection.cs
- DigestTraceRecordHelper.cs
- PagedControl.cs
- CqlIdentifiers.cs
- ListViewItem.cs
- ObjectTag.cs
- BindingUtils.cs
- CodeTypeDeclarationCollection.cs
- TableRowCollection.cs
- EventItfInfo.cs
- IRCollection.cs
- ErrorHandler.cs
- TextServicesLoader.cs
- GridItemProviderWrapper.cs
- ToolStripItemDataObject.cs
- TdsParserHelperClasses.cs
- RuleAttributes.cs
- OrderingExpression.cs
- IndicShape.cs
- ListViewInsertedEventArgs.cs
- RewritingValidator.cs
- codemethodreferenceexpression.cs
- DataGridViewCellCollection.cs
- FilterQuery.cs
- DirectionalLight.cs
- CompilationRelaxations.cs
- Number.cs
- RijndaelManaged.cs
- CharAnimationUsingKeyFrames.cs
- DockingAttribute.cs
- RectangleHotSpot.cs
- XmlDocumentFragment.cs
- X509CertificateTrustedIssuerElement.cs
- SiteOfOriginContainer.cs
- arc.cs
- Rotation3D.cs
- StylusTip.cs
- NameScopePropertyAttribute.cs
- TypeDependencyAttribute.cs
- SubordinateTransaction.cs
- ShaderEffect.cs
- CompatibleComparer.cs
- OracleEncoding.cs
- PolyBezierSegment.cs
- WebResourceAttribute.cs
- ObjectDataSourceMethodEventArgs.cs