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
- DbCommandDefinition.cs
- ConfigurationManagerHelper.cs
- ItemType.cs
- ExtentCqlBlock.cs
- CodeDirectoryCompiler.cs
- ColorPalette.cs
- HTMLTagNameToTypeMapper.cs
- __ComObject.cs
- PathGeometry.cs
- UnicodeEncoding.cs
- UpDownBase.cs
- DocumentOrderComparer.cs
- WebResponse.cs
- PageDeviceFont.cs
- AtomMaterializerLog.cs
- XPathAxisIterator.cs
- SystemBrushes.cs
- MatrixStack.cs
- WorkflowWebHostingModule.cs
- StrokeNode.cs
- PathParser.cs
- LeftCellWrapper.cs
- SystemMulticastIPAddressInformation.cs
- TraceContext.cs
- WebPartConnectionsConfigureVerb.cs
- LocalValueEnumerator.cs
- versioninfo.cs
- parserscommon.cs
- DuplicateDetector.cs
- BasicSecurityProfileVersion.cs
- CompositeDispatchFormatter.cs
- ProfilePropertySettingsCollection.cs
- SoapClientProtocol.cs
- Memoizer.cs
- MetadataArtifactLoaderResource.cs
- MasterPageCodeDomTreeGenerator.cs
- FolderBrowserDialog.cs
- shaperfactory.cs
- CrossAppDomainChannel.cs
- ConnectionPoolManager.cs
- SkinBuilder.cs
- DataGridTable.cs
- OracleParameter.cs
- Attribute.cs
- NumericUpDown.cs
- List.cs
- Animatable.cs
- ListControlStringCollectionEditor.cs
- AssemblyCacheEntry.cs
- PropertyMappingExceptionEventArgs.cs
- ImageDesigner.cs
- CommandHelpers.cs
- StyleCollection.cs
- CompiledRegexRunner.cs
- NativeRecognizer.cs
- parserscommon.cs
- DataBinder.cs
- ReflectionUtil.cs
- TransformDescriptor.cs
- TextSchema.cs
- MimeBasePart.cs
- JournalNavigationScope.cs
- UpDownEvent.cs
- DataBoundControlAdapter.cs
- SecurityContext.cs
- HierarchicalDataSourceControl.cs
- HotSpotCollection.cs
- Keywords.cs
- WebControlsSection.cs
- CommandCollectionEditor.cs
- DrawingImage.cs
- XPathArrayIterator.cs
- InputLanguage.cs
- shaperfactoryquerycacheentry.cs
- StrokeNodeOperations2.cs
- MailWriter.cs
- CqlWriter.cs
- WSDualHttpSecurityMode.cs
- SqlDataSourceEnumerator.cs
- EditorAttribute.cs
- RenderOptions.cs
- NamespaceTable.cs
- RootProfilePropertySettingsCollection.cs
- HostedElements.cs
- UserControlAutomationPeer.cs
- LinqDataSourceSelectEventArgs.cs
- HostExecutionContextManager.cs
- AdRotator.cs
- LinkButton.cs
- FileAuthorizationModule.cs
- XmlSchemaObjectCollection.cs
- _Win32.cs
- XmlUtil.cs
- DbProviderFactoriesConfigurationHandler.cs
- StylusCollection.cs
- LightweightEntityWrapper.cs
- ComponentChangingEvent.cs
- QilList.cs
- Int64.cs
- Query.cs