Al momento sei offline in attesa che la connessione Internet venga ristabilita

HOW TO: Creare un gestore HTTP ASP .NET con Visual C# .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I308001
Nel presente articolo viene illustrata una versione beta di un prodotto Microsoft. Le informazioni contenute in questo articolo vengono fornite "nello stato in cui si trovano" e sono soggette a modifiche senza preavviso.

Per questo prodotto beta Microsoft non fornisce alcun tipo di supporto formale. Per informazioni su come ottenere supporto per una versione beta, consultare la documentazione fornita con i file del prodotto beta oppure visitare il sito Web da cui la versione del prodotto è stata scaricata.

Per la versione per Microsoft Visual Basic .NET di questo articolo, vedere 307997.

CONTENUTO DELL'ATTIVITÀ

Sommario
La procedura oggetto di questo articolo consente di servirsi di Visual C# .NET per creare un semplice gestore HTTP personalizzato. In questo articolo viene spiegato come creare, installare e configurare il gestore.

Torna all'inizio

Implementare il gestore

  1. Aprire Microsoft Visual Studio .NET. In Visual C# .NET creare un nuovo progetto libreria di classi denominandolo MyHandler.
  2. Impostare un riferimento all'assemblySystem.Web.dll.
  3. Aggiungere la seguente istruzione alla classe:
    using System.Xml;
  4. Rinominare la classe SyncHandler.cs e modificarne la definizione di conseguenza.
  5. Implementare l'interfacciaIHttpHandler. La definizione della classe si presenterà come segue:
    public class SyncHandler : IHttpHandler
  6. Implementare la proprietàIsReusablee il metodoProcessRequestdell'interfacciaIHttpHandler. Poiché questo gestore è sincrono, restituireFalseper la proprietàIsReusablein modo che il gestore non divenga oggetto di pooling.
    public bool IsReusable{   get {return false;}}public void ProcessRequest(HttpContext context){   context.Response.Write("Hello from custom handler.");}
  7. Compilare il progetto.
Torna all'inizio

Installare il gestore

  1. Creare una nuova directory dal nome Handler nella directory C:\Inetpub\Wwwroot.
  2. Creare una sottodirectory Bin nella directory Handler appena creata. Il percorso risultante è C:\Inetpub\Wwwroot\Handler\Bin.
  3. Copiare MyHandler.dll dalla directory del progetto Bin\Debug alla directory C:\Inetpub\Wwwroot\Handler\Bin.
  4. Attenersi alla procedura seguente per contrassegnare la nuova directory Handler come applicazione Web:
    1. Aprire Gestione servizi Internet.
    2. Fare clic con il pulsante destro del mouse sulla directory Handler e scegliereProprietà.
    3. Nella schedaDirectoryscegliereCrea.
  5. Attenersi alla procedura seguente per creare un mapping di applicazioni per il gestore. Creare un mapping al file Aspnet_isapi.dll relativamente all'estensione *.sync. A ogni richiesta di un file sync, la richiesta verrà inoltrata ad ASP.NET e verrà eseguito il codice del gestore.
    1. Fare clic con il pulsante destro del mouse sull'applicazione Web Handler e scegliereProprietà.
    2. Nella schedaDirectoryscegliereConfigurazione.
    3. ScegliereAggiungiper aggiungere un nuovo mapping.
    4. Nella casellaEseguibiledigitare il seguente percorso:
      C:\WINNT\Microsoft.NET\Framework\<n. versione>\Aspnet_isapi.dll
    5. Nella casellaEstensionedigitare.sync.
    6. Accertarsi che la casellaVerifica l'esistenza dei filesia deselezionata, quindi scegliereOKper chiudere la finestra di dialogoAggiungi/modifica mapping estensioni applicazioni.
    7. ScegliereOKper chiudere le finestre di dialogoConfigurazione applicazionieProprietà gestore.
  6. Chiudere Gestione servizi Internet.
Torna all'inizio

Configurare il sistema

  1. Nella directory C:\Inetpub\Wwwroot\Handler creare un nuovo file denominato Web.config.
  2. Aggiungere il seguente codice a Web.config:
    <configuration>   <system.web>      <httpHandlers>         <add verb="*" path="*.sync" type="MyHandler.SyncHandler, MyHandler" />      </httpHandlers>   </system.web></configuration>
    Nell'attributoverb="*"si fornisce al gestore l'istruzione di elaborare una richiesta che utilizza qualsiasi verbo, ad esempio POST, HEAD, GET e così via. Per fare in modo che il gestore elabori solo le richieste POST, impostare l'attributo nel modo seguenteverb="POST".

    Nell'attributopath="*.sync"si fornisce al gestore l'istruzione di elaborare qualsiasi richiesta in arrivo per i file con estensione sync.

    Nell'attributotype="MyHandler.SyncHander, MyHandler"si fornisce al gestore che elabora le richieste l'istruzione di eseguire l'implementazione nello spazio dei nomiMyHandler.SyncHandlere che questa classe risiede nell'assemblyMyHandler.
Torna all'inizio

Verificare il modulo

Per verificare il modulo non è necessario che una pagina esista nel file system. Richiedere ad esempio il file Default.sync dell'applicazione Web Handler (http://<NomeComputer>/Handler/Default.sync). Si otterranno i seguenti risultati:
Hello from custom handler.
Torna all'inizio

RIFERIMENTI

Per ulteriori informazioni sui gestori HTTP, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):
307985 BETA-INFO: ASP .NET HTTP Modules and HTTP Handlers Overview
Torna all'inizio












Proprietà

ID articolo: 308001 - Ultima revisione: 04/08/2003 15:52:00 - Revisione: 2.0

  • Microsoft ASP .NET Beta 2
  • Microsoft Visual C# .NET 2002 Standard Edition
  • kbhowto kbhowtomaster kbhttpruntime kbgrpdsasp KB308001
Feedback
"https://c.microsoft.com/ms.js"> ipt>"); src="https://c.microsoft.com/ms.js" '="">