438 lines
46 KiB
XML
438 lines
46 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Microsoft.VisualStudio.RemoteControl</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.FileReader">
|
|
<summary>
|
|
An instance of this class represents reading from a particular file from disk.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.GetFileResult">
|
|
<summary>
|
|
Holds information about the settings file, downloaded from the server or from the
|
|
local IE cache. Returned by calls to methods in this class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.Code">
|
|
<summary>
|
|
Gets or sets a status code of the response from server
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.RespStream">
|
|
<summary>
|
|
Gets or sets a stream to read the content of the settings file.
|
|
! May be null if <seealso cref="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.Code" /> is not OK.
|
|
! Callers must call Dispose on this object if it is not null.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.IsFromCache">
|
|
<summary>
|
|
Gets or sets a value indicating whether this information is obtained from IE cache.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.AgeSeconds">
|
|
<summary>
|
|
Gets or sets the Age of the file in the cache if
|
|
<seealso cref="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.IsFromCache" /> is true, returns . Otherwise null.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.ErrorMessage">
|
|
<summary>
|
|
Gets or sets the error message if <seealso cref="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.Code" /> is not
|
|
OK or NotFound.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.IsSuccessStatusCode">
|
|
<summary>
|
|
Gets a value indicating whether <seealso cref="P:Microsoft.VisualStudio.RemoteControl.GetFileResult.Code" /> is OK or
|
|
NotFound.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.IFileReader">
|
|
<summary>
|
|
An instance of this class represents reading from a particular file from disk.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale">
|
|
<summary>
|
|
Specifies the behavior of the IRemoteControlClient.ReadFile method
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale.ReturnStale">
|
|
<summary>
|
|
Return the settings file in the local cache irrespective of staleness.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale.ReturnNull">
|
|
<summary>
|
|
Return the settings file in the local cache if it is not stale. Otherwise return Null.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale.ForceDownload">
|
|
<summary>
|
|
Revalidate or download the file from the server and return it. WARNING:
|
|
* each server request is billed and costs add up from millions of clients.
|
|
* the only acceptable use of ForceDownload is very infrequently and if you absolutely cannot function
|
|
without the latest settings
|
|
* keep in mind that even once-per-process-lifetime may be too much if you process starts and stops very
|
|
frequently.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient">
|
|
<summary>
|
|
Interface for the client for the Remote Control Service.
|
|
This client polls the service for a single settings file and keeps it up-to-date in the local IE cache (which
|
|
is per-user). Developers may call the <see cref="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.ReadFile(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)" /> or
|
|
<see cref="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.ReadFileAsync(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)" /> to read settings file.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.FullUrl">
|
|
<summary>
|
|
Gets a full URL used to download to the file. Read-Only.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.PollingIntervalMins">
|
|
<summary>
|
|
Gets a polling Interval to check the file on the server. Read-Only.
|
|
This setting also determines when a file in the local IE cache is
|
|
considered stale.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.ReadFile(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)">
|
|
<summary>
|
|
Reads the settings file based on the <paramref name="staleBehavior" /> specified.
|
|
</summary>
|
|
<param name="staleBehavior">See <see cref="T:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale" /> for details about each possible setting.
|
|
In most cases use the BehaviorOnStale.ReturnStale setting.
|
|
!! WARNING about using BehaviorOnStale.ForceDownload !!
|
|
* each server request is billed and costs add up from millions of clients.
|
|
* the only acceptable use of ForceDownload is very infrequently and if you absolutely cannot function
|
|
without the latest settings.
|
|
* keep in mind that even once-per-process-lifetime may be too much if you process starts and stops very
|
|
frequently.
|
|
</param>
|
|
<returns>A Stream that can be used to read the setting file. !Callers must call Dispose on this stream
|
|
object returned. Or Null is returned in case of failure to get the file (or if server returned
|
|
NotFound).</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlClient.ReadFileAsync(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)">
|
|
<summary>
|
|
Reads the settings file based on the <paramref name="staleBehavior" /> specified. This is the Async version
|
|
of ReadFile method.
|
|
</summary>
|
|
<param name="staleBehavior">See <see cref="T:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale" /> for details about each possible setting.
|
|
In most cases use the BehaviorOnStale.ReturnStale setting.</param>
|
|
<returns>A Stream that can be used to read the setting file. !Callers must call Dispose on this stream
|
|
object returned. Or Null is returned in case of failure to get the file (or if server returned
|
|
NotFound).</returns>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor">
|
|
<summary>
|
|
Provides operation to issue HTTP requests to obtain a file, either from the server or from the local IE cache.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor.GetFileFromServerAsync">
|
|
<summary>
|
|
Reads the file from the server url.
|
|
In case of errors reading the file from the server, returned <see cref="T:Microsoft.VisualStudio.RemoteControl.GetFileResult" /> object's
|
|
IsSuccessStatusCode value will be false.
|
|
</summary>
|
|
<returns>Information about the file obtained from the server</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor.GetFileFromCacheAsync">
|
|
<summary>
|
|
Reads the file from the local IE cache only.
|
|
If the file does not exist in the cache, the returned <see cref="T:Microsoft.VisualStudio.RemoteControl.GetFileResult" /> object's IsCached value
|
|
will be false and Code will be Unused.
|
|
</summary>
|
|
<returns>Information about the file in the IE cache</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor.LastServerRequestErrorSecondsAgoAsync">
|
|
<summary>
|
|
Gets the elapsed time (in seconds) since the last error in downloading / revalidating the file from the
|
|
server.
|
|
</summary>
|
|
<returns>Time in seconds since last error or Int.MaxValue if no error has ever occured.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor.Cancel">
|
|
<summary>
|
|
Cancels all in progress HTTP requests. Any future calls to this class should not be made.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.RemoteControlClient">
|
|
<summary>
|
|
Client for the Remote Control Service.
|
|
This client polls the service for a single settings file and keeps it up-to-date in the local IE cache (which
|
|
is per-user).
|
|
Developers may call the <see cref="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.ReadFile(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)" /> or <see cref="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.ReadFileAsync(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)" /> to read settings file.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Creates the client and starts polling.
|
|
</summary>
|
|
<param name="hostId">HostId of the settings file (used to construct URL to the file:
|
|
[baseUrl]/[hostId]/[relativePath]).</param>
|
|
<param name="baseUrl">Base URL of the service e.g. https://az700632.vo.msecnd.net</param>
|
|
<param name="relativePath">Relative path used to contruct the full URL to the file:
|
|
[baseUrl]/[hostId]/[relativePath]</param>
|
|
<param name="pollingIntervalMins">Optional. Default = 1440 minutes (24 hours). Min allowed = 5 minutes.
|
|
Polling Interval (in minutes) to check the file on the server when the last request to the server
|
|
succeeded.</param>
|
|
<param name="theHttpRequestTimeoutSeconds">Optional. Default = 60 seconds. Maximum allowed = 60 seconds.
|
|
HTTP request timeout used.</param>
|
|
<param name="overrideReadFileTelemetryFrequency">Optional. Allows to set how often to send successful
|
|
ReadFile telemetry, to prevent noise events Default = 1 (meaning post ReadFile telemetry every time). Min
|
|
allowed is 1.</param>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.#ctor(Microsoft.VisualStudio.RemoteControl.IRemoteControlHTTPRequestor,Microsoft.VisualStudio.Utilities.Internal.IRegistryTools,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32)">
|
|
<summary>
|
|
Only for testing. Testing "fake" IE Cache or "fake" server response
|
|
</summary>
|
|
<param name="requestor"></param>
|
|
<param name="theRegistryTools"></param>
|
|
<param name="hostId"></param>
|
|
<param name="baseUrl"></param>
|
|
<param name="relativePath"></param>
|
|
<param name="pollingIntervalMins"></param>
|
|
<param name="httpRequestTimeoutSeconds"></param>
|
|
<param name="maxRandomDownloadDelaySeconds"></param>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.#ctor(Microsoft.VisualStudio.Utilities.Internal.IRegistryTools,Microsoft.VisualStudio.RemoteControl.IFileReader,System.String,System.String,System.String)">
|
|
<summary>
|
|
Only for testing. Testing local functionality
|
|
</summary>
|
|
<param name="theRegistryTools"></param>
|
|
<param name="theFileReader"></param>
|
|
<param name="hostId"></param>
|
|
<param name="baseUrl"></param>
|
|
<param name="relativePath"></param>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.TelemetryLogger">
|
|
<summary>
|
|
Gets or sets an action which allows setting of a Telemetry Logger to
|
|
collect telemetry for usage of the Remote Control.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.TelemetryLogger2">
|
|
<summary>
|
|
Gets or sets an action which allows setting of a Telemetry Logger to
|
|
collect telemetry for usage of the Remote Control. Includes Pii-option.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.FullUrl">
|
|
<summary>
|
|
Gets a full URL used to download to the file.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.PollingIntervalMins">
|
|
<summary>
|
|
Gets a polling Interval to check the file on the server. This setting also determines
|
|
when a file in the local IE cache is considered stale.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.ReadFile(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)">
|
|
<summary>
|
|
Reads the settings file based on the <paramref name="staleBehavior" /> specified.
|
|
</summary>
|
|
<param name="staleBehavior">See <see cref="T:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale" /> for details about each possible setting.
|
|
In most cases use the BehaviorOnStale.ReturnStale setting.</param>
|
|
<returns>A Stream that can be used to read the setting file. !Callers must call Dispose on this stream
|
|
object returned. Or Null is returned in case of failure to get the file (or if server returned
|
|
NotFound).</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.ReadFileAsync(Microsoft.VisualStudio.RemoteControl.BehaviorOnStale)">
|
|
<summary>
|
|
Reads the settings file based on the <paramref name="staleBehavior" /> specified. This is the Async version
|
|
of ReadFile method.
|
|
</summary>
|
|
<param name="staleBehavior">See <see cref="T:Microsoft.VisualStudio.RemoteControl.BehaviorOnStale" /> for details about each possible setting.
|
|
In most cases use the BehaviorOnStale.ReturnStale setting.</param>
|
|
<returns>A Stream that can be used to read the setting file. !Callers must call Dispose on this stream
|
|
object returned. Or Null is returned in case of failure to get the file (or if server returned
|
|
NotFound).</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.Dispose">
|
|
<summary>
|
|
Disposes of client
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.CacheUpdateTimerCallback(System.Object,System.Threading.CancellationToken)">
|
|
<summary>
|
|
Callback method for the update timer.
|
|
</summary>
|
|
<param name="stateInfo">Dummy</param>
|
|
<param name="token">Cancellation token</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.EnsureFileIsUpToDateAsync(System.Threading.CancellationToken)">
|
|
<summary>
|
|
Determines if a local IE cache copy of the file is up-to-date. If no cached copy is available or the
|
|
cached copy is not up-to-date, a request is made to the server to download or revalidate the file. The
|
|
result of the server request is cached.
|
|
</summary>
|
|
<param name="cancellationToken">Cancellation token to cancel waiting of operation</param>
|
|
<returns>Returns True if the copy in the IE cache is up-to-date by the end of the method. False in case of
|
|
failures that prevent updating file.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.GetFileAndInstrumentAsync(System.Boolean)">
|
|
<summary>
|
|
Get a file and send telemetry events.
|
|
</summary>
|
|
<param name="fromServer"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlClient.InstrumentGetFile(Microsoft.VisualStudio.RemoteControl.GetFileResult)">
|
|
<summary>
|
|
Instruments the usage of GetFileFromCache and GetFileFromServer.
|
|
</summary>
|
|
<param name="fileResult"></param>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor">
|
|
<summary>
|
|
Provides operation to issue HTTP requests to obtain a file, either from the server or from the local IE cache.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.#ctor(System.String,System.Int32)">
|
|
<summary>
|
|
Ctor
|
|
</summary>
|
|
<param name="url">Server URL to obtain the settings file</param>
|
|
<param name="httpRequestTimeoutMillis">Timeout in milliseconds for the HTTP requests issued by this
|
|
class</param>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.Microsoft#VisualStudio#RemoteControl#IRemoteControlHTTPRequestor#GetFileFromServerAsync">
|
|
<summary>
|
|
Reads the file from the server url.
|
|
In case of errors reading the file from the server, returned <see cref="T:Microsoft.VisualStudio.RemoteControl.GetFileResult" /> object's
|
|
IsSuccessStatusCode value will be false.
|
|
</summary>
|
|
<returns>Information about the file obtained from the server</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.Microsoft#VisualStudio#RemoteControl#IRemoteControlHTTPRequestor#GetFileFromCacheAsync">
|
|
<summary>
|
|
Reads the file from the local IE cache only.
|
|
If the file does not exist in the cache, the returned <see cref="T:Microsoft.VisualStudio.RemoteControl.GetFileResult" /> object's IsFromCache value
|
|
will be false and Code will be Unused.
|
|
</summary>
|
|
<returns>Information about the file in the IE cache</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.Microsoft#VisualStudio#RemoteControl#IRemoteControlHTTPRequestor#LastServerRequestErrorSecondsAgoAsync">
|
|
<summary>
|
|
Gets the elapsed time (in seconds) since the last error in downloading / revalidating the file from the
|
|
server.
|
|
</summary>
|
|
<returns>Time in seconds since last error or Int.MaxValue if no error has ever occured.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.Microsoft#VisualStudio#RemoteControl#IRemoteControlHTTPRequestor#Cancel">
|
|
<summary>
|
|
Cancels all in progress HTTP requests. Any future calls to this class should not be made.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.ExtractAgeHeaderValue(System.Net.HttpWebResponse)">
|
|
<summary>
|
|
Extracts the value of Age header from <paramref name="resp" />.
|
|
</summary>
|
|
<param name="resp">HTTP response</param>
|
|
<returns>If Age header is present on <paramref name="resp" />can is valid,
|
|
returns its value. Otherwise null.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.CreateHttpRequest(System.String)">
|
|
<summary>
|
|
In .Net 4.0 and above, in some cases, ConfigurationErrorsException
|
|
will not be catch without the HandleProcessCorruptedStateExceptions
|
|
and SecurityCritical attributes. The method should not be async.
|
|
|
|
See Bug 172014 and
|
|
https://msdn.microsoft.com/en-us/magazine/dd419661.aspx
|
|
</summary>
|
|
<param name="requestUrl"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.GetFile(System.String,System.Int32,System.Net.Cache.HttpRequestCachePolicy)">
|
|
<summary>
|
|
This is the HTTP-facing method in the class. It essentially performs all functions of
|
|
1. sending an HTTP request for the file
|
|
2. if the response is from the server, ensuring that it is added to the IE cache
|
|
3. additonal logic to cache error responses in the IE cache. By default error
|
|
responses are not cached.
|
|
</summary>
|
|
<param name="requestUrl"></param>
|
|
<param name="requestTimeoutMillis"></param>
|
|
<param name="cachePolicy">Specifies chache policy to use when sending the request</param>
|
|
<returns>Result of the file lookup. See <see cref="T:Microsoft.VisualStudio.RemoteControl.GetFileResult" /> for details.</returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlHTTPRequestor.WrapInSeekableStreamAsync(System.IO.Stream)">
|
|
<summary>
|
|
Copies all data in <paramref name="s" /> to a new Memory Stream to allow seeking.
|
|
</summary>
|
|
<param name="s">Original Stream</param>
|
|
<returns>A new in memory stream</returns>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.RemoteControlUri">
|
|
<summary>
|
|
URI with optional redirect.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlUri.IsLocalFile">
|
|
<summary>
|
|
Gets a value indicating whether the URI points to a local file.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlUri.FullUrl">
|
|
<summary>
|
|
Gets a full URI string.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Microsoft.VisualStudio.RemoteControl.RemoteControlUri.HostId">
|
|
<summary>
|
|
Gets a Host Id which was used to initialize the URI.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.RemoteControlUri.Create(Microsoft.VisualStudio.Utilities.Internal.IRegistryTools,System.String,System.String,System.String)">
|
|
<summary>
|
|
Creates a new URI with optional redirect.
|
|
</summary>
|
|
<param name="registryTools"></param>
|
|
<param name="hostId"></param>
|
|
<param name="baseUrl"></param>
|
|
<param name="relativePath"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.UriEx.SplitLastSegment(System.Uri)">
|
|
<summary>
|
|
Split the last path segment from the given URI.
|
|
</summary>
|
|
<param name="uri"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.UriEx.AddSegment(System.Uri,System.String)">
|
|
<summary>
|
|
Add a path segment to the given URI. The path segment may contain trailling '/'.
|
|
</summary>
|
|
<param name="uri"></param>
|
|
<param name="segment"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:Microsoft.VisualStudio.RemoteControl.WinINetHelper">
|
|
<summary>
|
|
Provides a helper method to write empty files to the local IE cache. This is useful for writing HTTP error
|
|
responses to the cache. Although caching of error responses is entirely allowed by HTTP protocol, The
|
|
System.Net library does not add error responses to the cache. So, this helper library is used to call
|
|
wininet.dll functions to do so.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Microsoft.VisualStudio.RemoteControl.WinINetHelper.WriteErrorResponseToCache(System.String,System.Net.HttpStatusCode)">
|
|
<summary>
|
|
Adds an empty file to the local IE cache with the <paramref name="status" />header for the
|
|
specified<paramref name="url" />.
|
|
</summary>
|
|
<param name="url">URL for which to add the cache entry</param>
|
|
<param name="status">Status of the response to cache</param>
|
|
<returns>True if operation succeeded. Otherwise false.</returns>
|
|
</member>
|
|
</members>
|
|
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><DigestValue>LliLyEAbU3J+WgGUtbiQsPB5Fu5iUIov7F9EvJycIGo=</DigestValue></Reference></SignedInfo><SignatureValue>tMomN1uEWdEKmrGGokQmUyqb5gi8rOdXJXUBRWGe+UkTtSuOeoEjguZIKVY++QTZi+ZwMCsJ/yY3GZyW2KI/+pQEw7uBHiiZIzTtFTQNzzzYKr6C84QfW7NLRuUYaDyneMHyYmV3WTkR37kxnM7Q3lrD0fZ2UGLPvXOikq7y+2HJcua3r9IIq2M1e/VqruELTagePdMFp2OLv2/dbT+qnCE4whu+VYCNfrf6ivVtdEzlmKTUDC6Bsfx9GWzPiw9s4DmNVb24RebR+0diRjqat4LbbCB+Uw2f/OjcGSX2USjyrkN2ePlrhcxEGPPBFLZJBiKgzrUoVs3pAT/rjZ2J/w==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>6yM7GOtjJiq83q4Ju1HJ7vg7kh3YM0WVQiBovQmpRa4cLYivtxSA85TmG7P88x8Liwt4Yq+ecFYB6GguJYkMEOtMFckdexGT2uAUNvAuQEZcan7Xadx/Ea11m1cr0GlJwUFWTO91w8hldaFD2RhxlrYHarQVHetFY5xTyAkn/KZxYoreob0sR+SFViNIjp36nV2KD1lLVVDJlaltcgV9DbW0JUhyFOoZT76Pf7qir5IxVBQNi2wvQFkGyZh/tbjNJeJw0inwqnHL3SOZd84xJPclElJodSEIQxZ/uUi9iZpwhdI2RGeH+RxO8pAz/qIgN0Pn4SgrHoPtGhB4vg0T2Q==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>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</X509Certificate><X509Certificate>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</X509Certificate><X509Certificate>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</X509Certificate></X509Data></KeyInfo><Object Id="ts-countersig"><X509Data><X509Certificate>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</X509Certificate><X509Certificate>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</X509Certificate></X509Data><CounterSignature ts-format="cms-timestamp-message" xmlns="http://schemas.microsoft.com/xmldsig/timestamp/2003">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</CounterSignature></Object></Signature></doc>
|