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
- PropertySegmentSerializationProvider.cs
- LoginName.cs
- PersistStreamTypeWrapper.cs
- FormsAuthenticationUser.cs
- HitTestWithGeometryDrawingContextWalker.cs
- HttpServerVarsCollection.cs
- ReadOnlyDataSourceView.cs
- RC2.cs
- DoubleCollectionValueSerializer.cs
- Stylus.cs
- XmlEventCache.cs
- RectValueSerializer.cs
- TriState.cs
- SafeNativeMethods.cs
- PrincipalPermission.cs
- FormatVersion.cs
- GACIdentityPermission.cs
- SecurityBindingElement.cs
- SqlDependency.cs
- RouteParametersHelper.cs
- ThreadNeutralSemaphore.cs
- WebPartVerbCollection.cs
- SizeF.cs
- SignedPkcs7.cs
- Math.cs
- MarginsConverter.cs
- EncryptedKey.cs
- NullableConverter.cs
- UndoEngine.cs
- Constant.cs
- ImmutablePropertyDescriptorGridEntry.cs
- SizeConverter.cs
- IriParsingElement.cs
- ClientEventManager.cs
- ResourceWriter.cs
- EntryPointNotFoundException.cs
- DragEventArgs.cs
- SystemBrushes.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- BinHexEncoder.cs
- RootBuilder.cs
- EntityDataSourceContainerNameItem.cs
- Image.cs
- DesignerDataParameter.cs
- SystemException.cs
- HttpEncoder.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- GeneralEndpointIdentity.cs
- RestHandler.cs
- XmlSchemaAttributeGroupRef.cs
- JumpList.cs
- DependencyPropertyAttribute.cs
- embossbitmapeffect.cs
- COMException.cs
- StringResourceManager.cs
- KeyedPriorityQueue.cs
- ColorAnimationUsingKeyFrames.cs
- CodeDirectiveCollection.cs
- PageSetupDialog.cs
- ValueHandle.cs
- ConnectionsZone.cs
- CqlQuery.cs
- NetTcpSecurity.cs
- JoinQueryOperator.cs
- PauseStoryboard.cs
- MonitorWrapper.cs
- ConsoleKeyInfo.cs
- RoleGroup.cs
- SmtpMail.cs
- ConfigurationErrorsException.cs
- IndexedWhereQueryOperator.cs
- TTSEvent.cs
- TokenFactoryFactory.cs
- PagerStyle.cs
- EnvironmentPermission.cs
- Vector3D.cs
- DllNotFoundException.cs
- TagPrefixCollection.cs
- SafeCryptHandles.cs
- HostUtils.cs
- AssemblySettingAttributes.cs
- GroupBox.cs
- ItemCheckedEvent.cs
- DBConcurrencyException.cs
- PerformanceCountersElement.cs
- PropagatorResult.cs
- TagMapInfo.cs
- ProxyFragment.cs
- MenuAutomationPeer.cs
- ConsumerConnectionPoint.cs
- MLangCodePageEncoding.cs
- XmlWrappingWriter.cs
- SecureUICommand.cs
- ControlDesigner.cs
- EUCJPEncoding.cs
- IChannel.cs
- DebugViewWriter.cs
- IssuanceLicense.cs
- DiscoveryMessageSequenceCD1.cs
- TempFiles.cs