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
- ELinqQueryState.cs
- XmlAnyElementAttributes.cs
- DataGridViewHitTestInfo.cs
- Function.cs
- WebPartDisplayModeCollection.cs
- RootBuilder.cs
- GridView.cs
- DataSourceDesigner.cs
- SimpleHandlerBuildProvider.cs
- AssociationTypeEmitter.cs
- Int16KeyFrameCollection.cs
- StrongNameKeyPair.cs
- CustomErrorsSectionWrapper.cs
- IdentityManager.cs
- ImageField.cs
- WorkflowTraceTransfer.cs
- UseManagedPresentationBindingElementImporter.cs
- BindingsCollection.cs
- CacheSection.cs
- ComNativeDescriptor.cs
- SecurityHelper.cs
- DrawingDrawingContext.cs
- HttpModuleAction.cs
- WmfPlaceableFileHeader.cs
- PropertyToken.cs
- CompilerError.cs
- DataGridViewColumnStateChangedEventArgs.cs
- _SslSessionsCache.cs
- ALinqExpressionVisitor.cs
- ToolStripTextBox.cs
- TypeTypeConverter.cs
- XmlMemberMapping.cs
- ProxyAttribute.cs
- CorrelationValidator.cs
- CodeDirectiveCollection.cs
- DataGridViewColumnEventArgs.cs
- JsonGlobals.cs
- Avt.cs
- ModifyActivitiesPropertyDescriptor.cs
- ClassImporter.cs
- ConstNode.cs
- DefaultAsyncDataDispatcher.cs
- VSWCFServiceContractGenerator.cs
- TextTreeUndoUnit.cs
- XmlSequenceWriter.cs
- ThreadAbortException.cs
- IImplicitResourceProvider.cs
- ReservationNotFoundException.cs
- RMPermissions.cs
- DataGridViewCellFormattingEventArgs.cs
- FontDialog.cs
- ServiceDocument.cs
- XmlILStorageConverter.cs
- Helpers.cs
- MatrixTransform3D.cs
- BaseDataList.cs
- Int16KeyFrameCollection.cs
- HostnameComparisonMode.cs
- SR.Designer.cs
- XsltException.cs
- BuildProviderCollection.cs
- StorageEntitySetMapping.cs
- CodeIdentifier.cs
- BaseCodePageEncoding.cs
- IPGlobalProperties.cs
- WrappingXamlSchemaContext.cs
- WebPartCollection.cs
- Helper.cs
- HostSecurityManager.cs
- PeerPresenceInfo.cs
- HttpModuleActionCollection.cs
- DataTableClearEvent.cs
- CodeDefaultValueExpression.cs
- Brush.cs
- ConnectionOrientedTransportBindingElement.cs
- AsynchronousChannelMergeEnumerator.cs
- CodeMemberEvent.cs
- GridViewUpdatedEventArgs.cs
- smtpconnection.cs
- RegexGroup.cs
- ClientTarget.cs
- IODescriptionAttribute.cs
- AuthorizationRuleCollection.cs
- FigureParaClient.cs
- AsymmetricCryptoHandle.cs
- PropertyChangedEventManager.cs
- TextModifier.cs
- XmlSchemaExternal.cs
- HtmlInputReset.cs
- NameValuePermission.cs
- ListDictionary.cs
- DataGridHeaderBorder.cs
- RC2CryptoServiceProvider.cs
- SizeConverter.cs
- EventHandlerList.cs
- EditorAttribute.cs
- ByteAnimationUsingKeyFrames.cs
- XamlFxTrace.cs
- AesManaged.cs
- ImageCodecInfo.cs