Frage

Ist es möglich, einen REST-Webdienst mit ASP.NET 2.0 zu erstellen?Die Artikel und Blogeinträge, die ich finde, scheinen alle darauf hinzudeuten, dass ASP.NET 3.5 mit WCF erforderlich ist, um REST-Webdienste mit ASP.NET zu erstellen.

Wenn es möglich ist, REST-Webdienste in ASP.NET 2.0 zu erstellen, können Sie ein Beispiel angeben?

Danke!

War es hilfreich?

Lösung

Ich habe tatsächlich einen REST-Webdienst mit asp.net 2.0 erstellt.Es ist eigentlich nichts anderes als das Erstellen einer Webseite.

Als ich es gemacht habe, hatte ich wirklich nicht viel Zeit zu recherchieren, wie man es mit einer ASMX-Datei macht, also habe ich es in einer Standard-ASX-Datei gemacht.Ich weiß, dass dadurch ein zusätzlicher Aufwand entsteht, aber als erste Überarbeitung war es in Ordnung.

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;
    }

Das sollte ausreichen, um Ihnen den Einstieg zu erleichtern. Ich werde versuchen, später mehr zu posten.

Auch wenn Sie eine Basisauthentifizierung für Ihren Webdienst benötigen, ist dies möglich. Wenn Sie kein Active Directory verwenden, muss dies jedoch manuell erfolgen.

Andere Tipps

Es ist durchaus möglich, RESTful-Webdienste mit ASP.NET zu erstellen.Wenn Sie ein neues Projekt starten, würde ich auf jeden Fall die Erstellung von RESTful-Webdiensten mit WCF in Betracht ziehen.Mit 3.5 .NET Framework können Sie einen RESTful-Endpunkt zusammen mit einem regulären alten SOAP-Endpunkt angeben und dennoch denselben Dienst bereitstellen.

Alles, was Sie wirklich tun müssen, ist ein Endpunktverhalten zu aktivieren, das einen Aufruf ausführt <webHttp />

Hier ist eine gute Serie zum Erstellen von RESTful-Webdiensten mit WCF:

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

Sie können durchaus RESTful-Webdienste in ASP.NET 2.0 erstellen, z Beispiel, aber es gibt keine High-Level-APIs, die die ganze Arbeit für Sie erledigen, wie sie von WCF in .NET 3.5 bereitgestellt werden.

Natürlich können Sie die Spezifikation jederzeit selbst implementieren.Es ist nur nichts eingebaut, was dies unterstützt.Wenn Sie die Lösung von Nathan Lee verwenden, tun Sie dies als http-Handler (.ashx) und nicht als ASPX.Sie können seinen Code einfach kopieren/in eine neue Handler-Datei einfügen.

Sie können RESTful-Webdienste einfach ausführen, indem Sie die Spezifikation mithilfe von IHTTPHandlers implementieren.

Probieren Sie auch die Verwendung von ASP.Net MVC aus.Ich habe in meinem Blog einige Artikel dazu geschrieben:

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

Suchen Sie nach meiner Reihe „Erstellen eines RESTful-Webdienstes mit ASP.Net MVC“.

Ich fange gerade erst an, sie zu verwenden, aber von dem, was ich gesehen habe, geht 2.0 ziemlich davon aus, dass SOAP ist.

Sie können einen RESTful-Dienst mit erstellen

1) WCF REST -Dienst 2) ASP.NET -Web -API

Wenn Ihnen RESTful-Service wichtig ist, sollten Sie sich für die ASP.NET-Web-API entscheiden.Wenn Sie jedoch einen Dienst benötigen, der sowohl SOAP-Webservice als auch RESTful unterstützt, ist WCF REST eine gute Wahl.

Es gibt einige Artikel, in denen das eine gegen das andere diskutiert wird.Das Artikel kann hilfreich sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top