Compartilhar via


Classe Sys.Net.WebRequestManager

Gerencia o fluxo das solicitações Web emitido pelo Sys.NET.WebRequest objeto para o objeto associado do executor.

Namespace: Sys.Net

Herda: Nenhum

Sys.Net.WebRequestManager.memberName;

Membros

Nome

Descrição

Construtor Sys.Net.WebRequestManager

Inicializa uma nova instância do Sys.Net.WebRequestManager classe quando implementada em uma classe derivada.

Sys.Net.WebRequestManager add_completedRequest método

Registra um manipulador para o evento concluído da solicitação do WebRequestManager.

Sys.Net.WebRequestManager add_invokingRequest método

Registra um manipulador para o evento de solicitação de chamada do WebRequestManager.

Sys.Net.WebRequestManager remove_completedRequest método

Remove o manipulador de eventos conjunto pelo add_completedRequest método.

Sys.Net.WebRequestManager remove_invokingRequest método

Remove o manipulador de eventos conjunto pelo add_invokingRequest método.

Método Sys.Net.WebRequestManager.executeRequest

Executa a solicitação da Web especificada.

Sys.Net.WebRequestManager defaultExecutor propriedade

Obtém ou define o executor padrão para a solicitação da Web.

Sys.Net.WebRequestManager defaultTimeout propriedade

Obtém ou define o time limite padrão para a solicitação da Web.

Sys.Net.WebRequestManager completedRequest evento

Ocorre quando uma solicitação tiver sido tratada.

Sys.Net.WebRequestManager invokingRequest eventos

Ocorre quando uma função de manipulador é chamada para a solicitação.

Comentários

O executor padrão associado a um WebRequest objeto for uma instância do XmlHttpExecutor classe. O executor é responsável por fazer as solicitações de rede real.

The WebRequestManager classe define o comportamento padrão para todas as solicitações da Web para que não é necessário especificar definições de configuração de rede de baixo nível para cada solicitação.

Cada página contém apenas um WebRequestManager instância. No entanto, você pode ter várias instâncias do WebRequest classe e executor relacionado.

Exemplo

O exemplo a seguir mostra como usar o WebRequestManager classe para conjunto propriedades comuns e executar uma solicitação da Web. O exemplo mostra uma página da Web e o script de cliente usada para interagir com o WebRequestManager classe.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">

        <title> WebRequestManager  Example </title>

        <style type="text/css">
            body {  font: 11pt Trebuchet MS;
                    font-color: #000000;
                    padding-top: 72px;
                    text-align: center }

            .text { font: 8pt Trebuchet MS }
        </style>



     </head>

   <body>


    <h2>WebRequestManager Example</h2>

        <form id="form1" runat="server">
            <asp:ScriptManager runat="server" ID="scriptManagerId">
                <Scripts>
                    <asp:ScriptReference Path="WebRequestManager.js" />
                </Scripts>
            </asp:ScriptManager>
        </form>




        <table>
            <tr align="left">
                <td>Make a Web request:</td>
                <td>
                    <button id="Button1" 
                        title="adds and remove handlers, too"  
                        onclick="MakeWebRequest(); return false;">Web Request</button>
                </td>
            </tr>
            <tr align="left">
                <td>Set, get default executor:</td>
                <td>
                    <button id="Button2"  
                        onclick="DefaultExecutor(); return false;">Executor</button>
                </td>
           </tr>
           <tr align="left">
                <td>Set, get default timeout:</td>
                <td>
                    <button id="Button3" 
                        onclick="DefaultTimeout(); return false;">Timeout</button>
                </td>
           </tr>
        </table>


        <hr />

        <div id="ResultId" style="background-color:Aqua;"></div>


    </body>

</html>
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">

        <title> WebRequestManager  Example </title>

        <style type="text/css">
            body {  font: 11pt Trebuchet MS;
                    font-color: #000000;
                    padding-top: 72px;
                    text-align: center }

            .text { font: 8pt Trebuchet MS }
        </style>



     </head>

   <body>


    <h2>WebRequestManager Example</h2>

        <form id="form1" runat="server">
            <asp:ScriptManager runat="server" ID="scriptManagerId">
                <Scripts>
                    <asp:ScriptReference Path="WebRequestManager.js" />
                </Scripts>
            </asp:ScriptManager>
        </form>





        <table>
            <tr align="left">
                <td>Make a Web request:</td>
                <td>
                    <button id="Button1" 
                        title="adds and remove handlers, too"  
                        onclick="MakeWebRequest(); return false;">Web Request</button>
                </td>
            </tr>
            <tr align="left">
                <td>Set, get default executor:</td>
                <td>
                    <button id="Button2"  
                        onclick="DefaultExecutor(); return false;">Executor</button>
                </td>
           </tr>
           <tr align="left">
                <td>Set, get default timeout:</td>
                <td>
                    <button id="Button3" 
                        onclick="DefaultTimeout(); return false;">Timeout</button>
                </td>
           </tr>
        </table>


        <hr />

        <div id="ResultId" style="background-color:Aqua;"></div>


    </body>

</html>
var displayElement;

function pageLoad()
{
    displayElement = $get("ResultId");
}

// Adds invokingRequest and completedRequest
// handlers, and performs a Web request. 
function MakeWebRequest() 
{
    // Clear the previous results. 
    resultElement.innerHTML = "";

    // Instantiate a Web request.
    wRequest =  new Sys.Net.WebRequest();

    // Set the handler to process the Web request.
    Sys.Net.WebRequestManager.add_completedRequest(On_WebRequestCompleted);

    alert("Added On_WebRequestCompleted handler.");

    // Set the handler to call before the Web request
    // is executed.
    Sys.Net.WebRequestManager.add_invokingRequest(On_InvokingRequest);   

    alert("Added On_InvokingRequest handler.");

    // Set the request Url.  
    wRequest.set_url("getTarget.htm");

    // Execute the request.
    // Notice that you do not use the executeRequest method of
    // the WebRequestManager which is intended for internal 
    // use only as in: Sys.Net.WebRequestManager.executeRequest(wRequest).
    // The correct way to execute a request is the following:
    // wRequest.invoke();
    Sys.Net.WebRequestManager.executeRequest(wRequest);


}

// Removes the event handlers that were previusly added. 
function RemoveDefaultHandlers() 
{
    // Clear the previous results. 
    resultElement.innerHTML = "";

    Sys.Net.WebRequestManager.remove_completedRequest(On_WebRequestCompleted);

    alert("Removed On_WebRequestCompleted handler.");

    Sys.Net.WebRequestManager.remove_invokingRequest(On_InvokingRequest); 

    alert("Removed On_InvokingRequest handler.");

}


// Gets and sets the default executor.
function DefaultExecutor()
{
    // Clear the previous results. 
    resultElement.innerHTML = "";

    // Get system default executor type.
    var sysDefaultExecutor = 
        Sys.Net.WebRequestManager.get_defaultExecutorType();
    alert("Get default executor:" + sysDefaultExecutor);


    // Modify the default executor type.
    Sys.Net.WebRequestManager.set_defaultExecutorType(
    "Sys.Net.CustomExecutor");

    var customDefaultExecutor = 
        Sys.Net.WebRequestManager.get_defaultExecutorType();

    alert("Set default executor: " + customDefaultExecutor);

    // Set the executor back to the system default. This is 
    // to allow the WebRequest script to run.
    executor = "Sys.Net.XMLHttpExecutor";
    Sys.Net.WebRequestManager.set_defaultExecutorType(
    sysDefaultExecutor);    

}


// Gets and sets the default timeout.
function DefaultTimeout()
{
    // Clear the previous results. 
    resultElement.innerHTML = "";

    // Get system default timeout.
    var sysDefaultTimeout = 
        Sys.Net.WebRequestManager.get_defaultTimeout();

    alert("Get default timeout: " + sysDefaultTimeout);


    // Set custom default timeout.
    Sys.Net.WebRequestManager.set_defaultTimeout(100);

    var customDefaultTimeout = 
        Sys.Net.WebRequestManager.get_defaultTimeout();

    alert("Set default timeout: " + customDefaultTimeout);


    // Set the timeout back to the system default. 
    Sys.Net.WebRequestManager.set_defaultTimeout(
    sysDefaultTimeout);    

}


// The On_InvokingRequest can be used to perform
// processing prior to the Web request being executed. 
function On_InvokingRequest(executor, eventArgs)
{
    alert("Executing OnInvokingRequest handler, before the Web request.");

    // Add custom code to perform processing prior
    // to the request being executed or to abort the 
    // request.
    alert("The current executor is: " + 
        executor.get_defaultExecutorType());

    // Use the eventArgs of type
    // NetworkRequestEventArgs to access the 
    // current WebRequest instance.
    var currentRequest = eventArgs.get_webRequest();
    var requestUrl = currentRequest.getResolvedUrl();           
    alert("Current request URL: " + requestUrl);
}

// The On_WebRequestComplete occurs after the
// Web request has returned, and can be used to
// get error status, process returned data, etc...
function On_WebRequestCompleted(executor, eventArgs) 
{

    if(executor.get_responseAvailable()) 
    {

        // Clear the previous results. 
        resultElement.innerHTML = "";

        // Display Web request status.                 
        resultElement.innerHTML  +=
          "Status: [" + executor.get_statusCode() + " " + 
                    executor.get_statusText() + "]" + "<br/>";

        // Display Web request headers.
        resultElement.innerHTML  += 
            "Headers: ";
        resultElement.innerHTML  += 
            executor.getAllResponseHeaders() + "<br/>";

        // Display Web request body.
        resultElement.innerHTML += 
            "Body: ";

        resultElement.innerHTML  += 
           executor.get_responseData();

    }

}

Consulte também

Referência

Classe de sys.NET.WebRequestExecutor

Classe Sys.Net.XMLHttpExecutor

Classe sys.NET.WebRequest