2008-09-02 5 views
9

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 hinzuweisen, dass ASP.NET 3.5 mit WCF erforderlich ist, um REST-Webdienste mit ASP.NET zu erstellen.Möglicher REST-Webdienst mit ASP.NET 2.0 zu erstellen

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

Danke!

Antwort

5

Ich habe tatsächlich einen REST-Web-Service mit asp.net 2.0 erstellt. Es ist wirklich nicht anders als eine Webseite zu erstellen.

Als ich es tat, hatte ich wirklich nicht viel Zeit, um zu erforschen, wie man es mit einer asmx-Datei macht, also tat ich es in einer Standard-aspx-Datei. Ich weiß, dass das zusätzliche Kosten verursacht, 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 Sie zu erhalten begonnen, werde ich versuchen, und poste später mehr.

Auch wenn Sie eine Standardauthentifizierung für Ihren Webservice benötigen, können Sie dies tun, aber Sie müssen dies manuell tun, wenn Sie kein aktives Verzeichnis verwenden.

0

Ich fange gerade erst an, sie zu benutzen, aber von dem, was ich 2,0 gesehen habe, wird ziemlich SOAP angenommen.

1

Sie können sicherlich RESTful Web-Services in ASP.NET 2.0 für example erstellen, aber es gibt keine High-Level-APIs, die alle für Sie arbeiten, wie WCF in .NET 3.5.

1

Nun, natürlich können Sie die Spezifikation immer selbst implementieren. Es ist nur, dass nichts eingebaut ist, um es zu unterstützen. 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 in eine neue Handler-Datei kopieren/einfügen.

1

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

2

Es ist definitiv möglich, RESTful-Webdienste mit ASP.NET zu erstellen. Wenn Sie ein neues Projekt starten, würde ich definitiv in die Erstellung von RESTful Web Services mit WCF schauen. Mit dem 3.5 .NET Framework können Sie einen RESTful-Endpunkt zusammen mit einem normalen alten SOAP-Endpunkt angeben und dennoch denselben Dienst bereitstellen.

Alles, was Sie wirklich tun müssen, ist eine endpointbehavior zu aktivieren, die ausruft <webHttp />

ist hier eine gute Serie auf die Schaffung von RESTful Web Services WCF:

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

0

erzeugen Sie können RESTful Service erstellen mit

1: Ich habe einige Artikel auf meinem Blog zu diesem Thema geschrieben) WCF REST Service 2) ASP.NET Web API

Wenn Sie alle über RESTful Service, ASP kümmern.NET Web API ist, dass Sie mit gehen sollten. Wenn Sie jedoch einen Dienst benötigen, der sowohl SOAP-Webservice als auch RESTful unterstützt, wäre WCF-REST eine gute Wahl.

Es gibt einige Artikel, die über einen gegen einen anderen diskutieren. Diese article kann hilfreich sein.