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
- Utils.cs
- EntityWrapper.cs
- StringResourceManager.cs
- RawStylusInputCustomDataList.cs
- GenericEnumerator.cs
- OrderByLifter.cs
- EnumBuilder.cs
- DES.cs
- TableTextElementCollectionInternal.cs
- InplaceBitmapMetadataWriter.cs
- SelectionRangeConverter.cs
- SystemIPAddressInformation.cs
- HWStack.cs
- SystemDropShadowChrome.cs
- TypedTableBaseExtensions.cs
- XmlSchemaDatatype.cs
- ConfigXmlSignificantWhitespace.cs
- QueryStringParameter.cs
- PcmConverter.cs
- PnrpPermission.cs
- ControlParameter.cs
- StorageScalarPropertyMapping.cs
- FieldToken.cs
- CheckoutException.cs
- Utils.cs
- XmlRawWriterWrapper.cs
- Section.cs
- AttributeQuery.cs
- FormClosingEvent.cs
- DataGridViewCellValidatingEventArgs.cs
- DataGridTextBox.cs
- MatrixTransform3D.cs
- GridViewSortEventArgs.cs
- PositiveTimeSpanValidatorAttribute.cs
- BookmarkUndoUnit.cs
- DataGridViewAdvancedBorderStyle.cs
- ToolStripDropDownClosingEventArgs.cs
- ContextBase.cs
- VisualStateGroup.cs
- FontStyle.cs
- GlyphsSerializer.cs
- ObjectTokenCategory.cs
- PageParserFilter.cs
- Guid.cs
- RootBrowserWindowProxy.cs
- ConfigurationErrorsException.cs
- HttpApplicationStateBase.cs
- AudioFormatConverter.cs
- StreamUpdate.cs
- ExeConfigurationFileMap.cs
- DetailsViewInsertedEventArgs.cs
- shaperfactoryquerycachekey.cs
- PropertyChangedEventManager.cs
- AutoFocusStyle.xaml.cs
- _SafeNetHandles.cs
- DataObjectCopyingEventArgs.cs
- ServerValidateEventArgs.cs
- XmlBindingWorker.cs
- JsonReader.cs
- SqlSupersetValidator.cs
- Size3DConverter.cs
- MissingSatelliteAssemblyException.cs
- LinqDataSourceValidationException.cs
- SyncOperationState.cs
- BamlRecordWriter.cs
- ToolStripDropDownClosingEventArgs.cs
- ProxyWebPartManager.cs
- MaterialGroup.cs
- WebPartDeleteVerb.cs
- WindowsRichEdit.cs
- Subtree.cs
- VisualTreeUtils.cs
- SqlUserDefinedTypeAttribute.cs
- ReadContentAsBinaryHelper.cs
- X509SecurityToken.cs
- SmiConnection.cs
- DataGridViewLinkCell.cs
- DataGridTextColumn.cs
- MaskPropertyEditor.cs
- XsltArgumentList.cs
- BoundsDrawingContextWalker.cs
- PhoneCallDesigner.cs
- PeerDefaultCustomResolverClient.cs
- VersionPair.cs
- Stroke.cs
- SQLBinaryStorage.cs
- WindowsListViewItemCheckBox.cs
- DynamicVirtualDiscoSearcher.cs
- SmtpFailedRecipientException.cs
- Repeater.cs
- SvcMapFile.cs
- List.cs
- CommandLineParser.cs
- ImpersonationContext.cs
- SerialErrors.cs
- DebuggerAttributes.cs
- WorkflowTransactionService.cs
- ErrorStyle.cs
- Select.cs
- SchemaNotation.cs