WebRequest.CreatorInstance Property

When overridden in a descendant class, gets the factory object derived from the IWebRequestCreate class used to create the WebRequest instantiated for making the request to the specified URI.

Namespace:  System.Net
Assembly:  System.Net (in System.Net.dll)

public virtual IWebRequestCreate CreatorInstance { get; }

Property Value

Type: System.Net.IWebRequestCreate
The derived WebRequest type returned by the Create method.

This property allows an application to determine which IWebRequestCreate derived factory object was used to create the request. This object may be WebRequestCreator.BrowserHttp or WebRequestCreator.ClientHttp, but it may also be a custom instance derived from IWebRequestCreate. This allows an application to determine whether the browser hosting Silverlight, the Silverlight client, or some custom object handles HTTP requests and responses for the WebRequest instance. The RegisterPrefix method allows an application to configure which derived WebRequest type will be instantiated when making a request to a specific URI. WebRequest creators are typically registered to handle a specific protocol, such HTTP or HTTPS, but can be registered to handle a request to a specific server or path on a server. This is useful when more than one derived WebRequest type can process requests for the same protocol. The Silverlight 3 and later runtime supports multiple HTTP handlers each having different capabilities. For example, a web service that uses Representational State Transfer (REST) might require the WebRequestCreator.ClientHttp handler while a SOAP web service might be able to use the default WebRequestCreator.BrowserHttp handler.

// Change this Uri to an accessible server
System.Uri uri = new Uri("http://www.contoso.com");

WebRequest webRequest = WebRequest.Create(uri);

outputBlock.Text += "WebRequest.CreatorInstance: ";
if (webRequest.CreatorInstance == WebRequestCreator.BrowserHttp)
    outputBlock.Text += "BrowserHttp";
    outputBlock.Text += "\n";
else if (webRequest.CreatorInstance == WebRequestCreator.ClientHttp)
    outputBlock.Text += "ClientHttp";
    outputBlock.Text += "\n";
    outputBlock.Text += "Custom";
    outputBlock.Text += "\n";


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions