Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / ResourceLoader.cs / 1 / ResourceLoader.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System; using System.IO; using System.Net; using System.Speech.Synthesis; #if SPEECHSERVER || PROMPT_ENGINE using System.Speech.Synthesis.TtsEngine; #endif namespace System.Speech.Internal { //******************************************************************* // // Public Types // //******************************************************************* internal class ResourceLoader { //******************************************************************** // // Internal Methods // //******************************************************************* #region Internal Methods ////// Load a file either from a local network or from the Internet. /// /// /// /// /// internal Stream LoadFile (Uri uri, out string mimeType, out Uri baseUri, out string localPath) { localPath = null; #if SPEECHSERVER || PROMPT_ENGINE if (_resourceLoader != null) { localPath = _resourceLoader.GetLocalCopy (uri, out mimeType, out baseUri); return new FileStream (localPath, FileMode.Open, FileAccess.Read, FileShare.Read); } else #endif { Stream stream = null; // Check for a local file if (!uri.IsAbsoluteUri || uri.IsFile) { // Local file string file = uri.IsAbsoluteUri ? uri.LocalPath : uri.OriginalString; try { stream = new FileStream (file, FileMode.Open, FileAccess.Read, FileShare.Read); } catch { if (Directory.Exists (file)) { throw new InvalidOperationException (SR.Get (SRID.CannotReadFromDirectory, file)); } throw; } baseUri = null; } else { try { // http:// Load the data from the web stream = DownloadData (uri, out baseUri); } catch (WebException e) { throw new IOException (e.Message, e); } } mimeType = null; return stream; } } ////// Release a file from a cache if any /// /// internal void UnloadFile (string localPath) { #if SPEECHSERVER || PROMPT_ENGINE if (_resourceLoader != null) { _resourceLoader.ReleaseLocalCopy (localPath); } #endif } internal Stream LoadFile (Uri uri, out string localPath, out Uri redirectedUri) { string mediaTypeUnused; return LoadFile (uri, out mediaTypeUnused, out redirectedUri, out localPath); } #if SPEECHSERVER || PROMPT_ENGINE ////// Only one instance of the resource loader /// /// internal void SetResourceLoader (ISpeechResourceLoader resourceLoader) { // Changing the ResourceLoader if (_resourceLoader != null && resourceLoader != _resourceLoader) { throw new InvalidOperationException (); } _resourceLoader = resourceLoader; } #endif #endregion //******************************************************************** // // Private Methods // //******************************************************************** #region Private Methods ////// Dowload data from the web. /// Set the redirectUri as the location of the file could be redirected in ASP pages. /// /// /// ///private static Stream DownloadData (Uri uri, out Uri redirectedUri) { // Create a request for the URL. WebRequest request = WebRequest.Create (uri); // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; // Get the response. using (HttpWebResponse response = (HttpWebResponse) request.GetResponse ()) { // Get the stream containing content returned by the server. using (Stream dataStream = response.GetResponseStream ()) { redirectedUri = response.ResponseUri; // http:// Load the data from the web using (WebClient client = new WebClient ()) { client.UseDefaultCredentials = true; return new MemoryStream (client.DownloadData (redirectedUri)); } } } } #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Fields #if SPEECHSERVER || PROMPT_ENGINE ISpeechResourceLoader _resourceLoader; #endif #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System; using System.IO; using System.Net; using System.Speech.Synthesis; #if SPEECHSERVER || PROMPT_ENGINE using System.Speech.Synthesis.TtsEngine; #endif namespace System.Speech.Internal { //******************************************************************* // // Public Types // //******************************************************************* internal class ResourceLoader { //******************************************************************** // // Internal Methods // //******************************************************************* #region Internal Methods ////// Load a file either from a local network or from the Internet. /// /// /// /// /// internal Stream LoadFile (Uri uri, out string mimeType, out Uri baseUri, out string localPath) { localPath = null; #if SPEECHSERVER || PROMPT_ENGINE if (_resourceLoader != null) { localPath = _resourceLoader.GetLocalCopy (uri, out mimeType, out baseUri); return new FileStream (localPath, FileMode.Open, FileAccess.Read, FileShare.Read); } else #endif { Stream stream = null; // Check for a local file if (!uri.IsAbsoluteUri || uri.IsFile) { // Local file string file = uri.IsAbsoluteUri ? uri.LocalPath : uri.OriginalString; try { stream = new FileStream (file, FileMode.Open, FileAccess.Read, FileShare.Read); } catch { if (Directory.Exists (file)) { throw new InvalidOperationException (SR.Get (SRID.CannotReadFromDirectory, file)); } throw; } baseUri = null; } else { try { // http:// Load the data from the web stream = DownloadData (uri, out baseUri); } catch (WebException e) { throw new IOException (e.Message, e); } } mimeType = null; return stream; } } ////// Release a file from a cache if any /// /// internal void UnloadFile (string localPath) { #if SPEECHSERVER || PROMPT_ENGINE if (_resourceLoader != null) { _resourceLoader.ReleaseLocalCopy (localPath); } #endif } internal Stream LoadFile (Uri uri, out string localPath, out Uri redirectedUri) { string mediaTypeUnused; return LoadFile (uri, out mediaTypeUnused, out redirectedUri, out localPath); } #if SPEECHSERVER || PROMPT_ENGINE ////// Only one instance of the resource loader /// /// internal void SetResourceLoader (ISpeechResourceLoader resourceLoader) { // Changing the ResourceLoader if (_resourceLoader != null && resourceLoader != _resourceLoader) { throw new InvalidOperationException (); } _resourceLoader = resourceLoader; } #endif #endregion //******************************************************************** // // Private Methods // //******************************************************************** #region Private Methods ////// Dowload data from the web. /// Set the redirectUri as the location of the file could be redirected in ASP pages. /// /// /// ///private static Stream DownloadData (Uri uri, out Uri redirectedUri) { // Create a request for the URL. WebRequest request = WebRequest.Create (uri); // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; // Get the response. using (HttpWebResponse response = (HttpWebResponse) request.GetResponse ()) { // Get the stream containing content returned by the server. using (Stream dataStream = response.GetResponseStream ()) { redirectedUri = response.ResponseUri; // http:// Load the data from the web using (WebClient client = new WebClient ()) { client.UseDefaultCredentials = true; return new MemoryStream (client.DownloadData (redirectedUri)); } } } } #endregion //******************************************************************* // // Private Fields // //******************************************************************** #region Private Fields #if SPEECHSERVER || PROMPT_ENGINE ISpeechResourceLoader _resourceLoader; #endif #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SingleSelectRootGridEntry.cs
- SeverityFilter.cs
- WrapPanel.cs
- SecurityDescriptor.cs
- LineMetrics.cs
- IssuedTokenClientBehaviorsElement.cs
- DataGridViewCellStyleConverter.cs
- Encoding.cs
- _HelperAsyncResults.cs
- PageCatalogPart.cs
- ListViewItemEventArgs.cs
- CharacterBuffer.cs
- x509utils.cs
- MemberBinding.cs
- CapabilitiesRule.cs
- NgenServicingAttributes.cs
- DataGridHeaderBorder.cs
- HtmlControlPersistable.cs
- PeerNodeTraceRecord.cs
- cookie.cs
- UserValidatedEventArgs.cs
- BinaryObjectReader.cs
- RestHandlerFactory.cs
- DistinctQueryOperator.cs
- DataServiceHostWrapper.cs
- UserControl.cs
- VectorValueSerializer.cs
- JournalEntry.cs
- InkCanvasSelectionAdorner.cs
- oledbmetadatacollectionnames.cs
- QuaternionKeyFrameCollection.cs
- WebScriptServiceHostFactory.cs
- ConvertersCollection.cs
- SqlDataSourceConfigureSortForm.cs
- ServiceProviders.cs
- InfoCardRSACryptoProvider.cs
- StubHelpers.cs
- Ops.cs
- TypeInfo.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- ProgressBarBrushConverter.cs
- WriteableBitmap.cs
- ReadonlyMessageFilter.cs
- DeferredReference.cs
- SamlDelegatingWriter.cs
- EncodingInfo.cs
- CacheOutputQuery.cs
- ExpressionLexer.cs
- EnvironmentPermission.cs
- DependencyObjectType.cs
- Duration.cs
- ValidationRuleCollection.cs
- CqlBlock.cs
- ResourceReferenceExpressionConverter.cs
- LogSwitch.cs
- EntityDataSourceWrapperCollection.cs
- PersonalizationProviderCollection.cs
- SQLBytes.cs
- RootProfilePropertySettingsCollection.cs
- wgx_render.cs
- NavigationPropertyEmitter.cs
- ConfigurationPropertyAttribute.cs
- NonSerializedAttribute.cs
- SpeechRecognitionEngine.cs
- NonBatchDirectoryCompiler.cs
- BitmapScalingModeValidation.cs
- Task.cs
- DisplayMemberTemplateSelector.cs
- XmlSchemaSimpleType.cs
- MenuItemBindingCollection.cs
- TraceContextRecord.cs
- DiffuseMaterial.cs
- SharedConnectionWorkflowTransactionService.cs
- WorkflowTransactionService.cs
- SqlDataSourceSelectingEventArgs.cs
- XmlExpressionDumper.cs
- GenericRootAutomationPeer.cs
- PersistenceTypeAttribute.cs
- RC2CryptoServiceProvider.cs
- MDIWindowDialog.cs
- ApplicationCommands.cs
- ApplyImportsAction.cs
- Converter.cs
- DeferrableContentConverter.cs
- TaiwanCalendar.cs
- TableSectionStyle.cs
- SerializerProvider.cs
- ErrorFormatterPage.cs
- EventProxy.cs
- DiscoveryExceptionDictionary.cs
- JsonFormatWriterGenerator.cs
- AttributeQuery.cs
- NativeRecognizer.cs
- ViewRendering.cs
- DataServiceExpressionVisitor.cs
- KeyEventArgs.cs
- CqlWriter.cs
- ColumnResizeUndoUnit.cs
- WSDualHttpSecurityElement.cs