Domanda

È possibile creare un servizio Web REST utilizzando ASP.NET 2.0?Gli articoli e le voci di blog che ho trovato sembrano indicare che per creare servizi Web REST con ASP.NET è necessario ASP.NET 3.5 con WCF.

Se è possibile creare servizi Web REST in ASP.NET 2.0, puoi fornire un esempio.

Grazie!

È stato utile?

Soluzione

In realtà ho creato un servizio web REST con asp.net 2.0.In realtà non è diverso dalla creazione di una pagina web.

Quando l'ho fatto, non avevo molto tempo per cercare come farlo con un file asmx, quindi l'ho fatto in un file aspx standard.So che comporta un sovraccarico aggiuntivo in questo modo, ma come prima revisione andava bene.

protected void PageLoad(object sender, EventArgs e)
{
    using (XmlWriter xm = XmlWriter.Create(Response.OutputStream, GetXmlSettings()))
    {
        //do your stuff
        xm.Flush();
    }
}

    /// <summary>
    /// Create Xml Settings object to properly format the output of the xml doc.
    /// </summary>
    private static XmlWriterSettings GetXmlSettings()
    {
        XmlWriterSettings xmlSettings = new XmlWriterSettings();
        xmlSettings.Indent = true;
        xmlSettings.IndentChars = " ";
        return xmlSettings;
    }

Dovrebbe essere sufficiente per iniziare, proverò a pubblicarne di più in seguito.

Inoltre, se hai bisogno dell'autenticazione di base per il tuo servizio web, puoi farlo, ma deve essere eseguita manualmente se non stai utilizzando Active Directory.

Altri suggerimenti

È sicuramente possibile creare servizi Web RESTful utilizzando ASP.NET.Se stai iniziando un nuovo progetto, esaminerei sicuramente la creazione di servizi Web RESTful utilizzando WCF.3.5 .NET Framework consente di specificare un endpoint RESTful insieme a un vecchio endpoint SOAP normale e di fornire comunque lo stesso servizio.

Tutto quello che devi fare è abilitare un comportamento dell'endpoint che richiami <webHttp />

Ecco una buona serie sulla creazione di servizi Web RESTful utilizzando WCF:

http://blogs.msdn.com/bags/archive/2008/08/05/rest-in-wcf-blog-series-index.aspx

Puoi sicuramente creare servizi Web RESTful in ASP.NET 2.0, per esempio, ma non esistono API di alto livello che eseguano tutto il lavoro dell'asino per te, come fornito da WCF in .NET 3.5.

Beh, ovviamente potresti sempre implementare tu stesso le specifiche.È solo che non c'è nulla di integrato per supportarlo.Se usi la soluzione di Nathan Lee, fallo come gestore http (.ashx) anziché come aspx.Puoi semplicemente copiare/incollare il suo codice in un nuovo file del gestore.

Puoi eseguire facilmente servizi Web RESTful implementando le specifiche utilizzando IHTTPHandlers.

Controlla anche utilizzando ASP.Net MVC.Ho scritto alcuni articoli su questo argomento nel mio blog:

http://shouldersofgiants.co.uk/Blog/

Cerca la mia serie Creazione di un servizio Web RESTful utilizzando ASP.Net MVC

Sto appena iniziando a usarli, ma da quello che ho visto 2.0 presuppone piuttosto SOAP.

È possibile creare un servizio RESTful utilizzando

1) Servizio REST WCF 2) ASP.NET Web API

Se vi interessa il servizio RESTful, l'API Web ASP.NET è quella che dovreste seguire.Ma se hai bisogno di un servizio che supporti sia il servizio web SOAP che RESTful, WCF REST sarebbe una buona scelta.

Ci sono alcuni articoli che discutono dell'uno rispetto all'altro.Questo articolo potrebbe essere utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top