© best_vector/Shutterstock.com
Windows Developer
Neuerungen in der finalen Version von ASP.NET Web API

Last-Minute-Ticket

Die finale Version von ASP.NET Web API bringt einige Neuerungen, darunter bessere Unterstützung für Dateiuploads und Fortschrittsanzeigen sowie die Möglichkeit einer feingranularen Konfiguration von Services auf den Ebenen von Routen und Controllern.

Manfred Steyer


Nachdem die Entwicklergemeinde seit einigen Monaten mit stabilen Vorabversionen von ASP.NET Web API erste Erfahrungen sammeln konnten und sie dank Go-Live-Lizenz seitens Microsoft auch schon für produktive Zwecke einsetzen durften, war es Mitte August 2012 soweit: Die finale Version wurde veröffentlicht. Auch wir haben diese Zeit mit großer Aufmerksamkeit verfolgt und im Windows Developer 5.2012 und 6.2012 ausführlich über die Möglichkeiten dieses neuen Serviceframeworks berichtet. Da das Produktteam bei Microsoft jedoch auch noch nach der letzten Vorabversion weitere Features geliefert hat, gibt es an dieser Stelle noch einiges zu berichten.

Dateiupload

Um Dateiuploads, die von einem HTML-Formular aus erfolgen, verarbeiten zu können, muss ASP.NET Web API dazu gebracht werden, mit Daten, die sich am MIME-Type multipart/form-data orientieren, umzugehen. Dieser MIME-Type sieht vor, dass die übersendeten Informationen in mehrere Sektionen geteilt werden, wobei jede Sektion einen eigenen MIME-­Type aufweisen kann. Diese Sektionen beinhalten zum Beispiel die hochzuladenden Dateien oder auch die Inhalte von Formularfeldern.

Zum Lesen einer solchen Nachricht verwendet der Entwickler die Methode Content.ReadAsMultipart­Async des aktuellen Request-Objekts (Listing 1). An diese kann er eine Instanz einer Subklasse von MultipartStreamProvider übergeben, wobei diese die Art der Verarbeitung der übersendeten Daten festlegt. Im betrachteten Fall kommt ein MultipartFormData­StreamProvider zum Einsatz. Dieser speichert die hochgeladenen Daten in jenem Ordner, den der Entwickler über dessen Konstruktor festgelegt hat. Darüber hinaus hält er die Daten von Formularfeldern im Hauptspeicher vor und macht sie über die Eigenschaft FormData zugänglich. Die Auflistung FileData beinhaltet daneben Informationen über die hochgeladenen Dateien, die im spezifizierten Verzeichnis abgelegt wurden. Die einzelnen Einträge sind vom Typ MultipartFileData, der zwei Eigenschaften aufweist: LocalFileName repräsentiert den vollständigen Namen der hochgeladenen Datei im festgelegten Uploadordner am Server; Headers liefert Kopfzeileneinträge, die der Browser für die jeweilige Datei übersendet hat. Über den Kopfzeileneintrag Content-Disposition kann zum Beispiel jener Name, den die Datei am Client inne gehabt hat, ermittelt werden; der Kopfzeileneintrag Content-Type gibt hingegen Auskunft über das Dateiformat (über den Content-Type) der Datei. Im betrachteten Beispiel werden diese Informationen zur...

Windows Developer
Neuerungen in der finalen Version von ASP.NET Web API

Last-Minute-Ticket

Die finale Version von ASP.NET Web API bringt einige Neuerungen, darunter bessere Unterstützung für Dateiuploads und Fortschrittsanzeigen sowie die Möglichkeit einer feingranularen Konfiguration von Services auf den Ebenen von Routen und Controllern.

Manfred Steyer


Nachdem die Entwicklergemeinde seit einigen Monaten mit stabilen Vorabversionen von ASP.NET Web API erste Erfahrungen sammeln konnten und sie dank Go-Live-Lizenz seitens Microsoft auch schon für produktive Zwecke einsetzen durften, war es Mitte August 2012 soweit: Die finale Version wurde veröffentlicht. Auch wir haben diese Zeit mit großer Aufmerksamkeit verfolgt und im Windows Developer 5.2012 und 6.2012 ausführlich über die Möglichkeiten dieses neuen Serviceframeworks berichtet. Da das Produktteam bei Microsoft jedoch auch noch nach der letzten Vorabversion weitere Features geliefert hat, gibt es an dieser Stelle noch einiges zu berichten.

Dateiupload

Um Dateiuploads, die von einem HTML-Formular aus erfolgen, verarbeiten zu können, muss ASP.NET Web API dazu gebracht werden, mit Daten, die sich am MIME-Type multipart/form-data orientieren, umzugehen. Dieser MIME-Type sieht vor, dass die übersendeten Informationen in mehrere Sektionen geteilt werden, wobei jede Sektion einen eigenen MIME-­Type aufweisen kann. Diese Sektionen beinhalten zum Beispiel die hochzuladenden Dateien oder auch die Inhalte von Formularfeldern.

Zum Lesen einer solchen Nachricht verwendet der Entwickler die Methode Content.ReadAsMultipart­Async des aktuellen Request-Objekts (Listing 1). An diese kann er eine Instanz einer Subklasse von MultipartStreamProvider übergeben, wobei diese die Art der Verarbeitung der übersendeten Daten festlegt. Im betrachteten Fall kommt ein MultipartFormData­StreamProvider zum Einsatz. Dieser speichert die hochgeladenen Daten in jenem Ordner, den der Entwickler über dessen Konstruktor festgelegt hat. Darüber hinaus hält er die Daten von Formularfeldern im Hauptspeicher vor und macht sie über die Eigenschaft FormData zugänglich. Die Auflistung FileData beinhaltet daneben Informationen über die hochgeladenen Dateien, die im spezifizierten Verzeichnis abgelegt wurden. Die einzelnen Einträge sind vom Typ MultipartFileData, der zwei Eigenschaften aufweist: LocalFileName repräsentiert den vollständigen Namen der hochgeladenen Datei im festgelegten Uploadordner am Server; Headers liefert Kopfzeileneinträge, die der Browser für die jeweilige Datei übersendet hat. Über den Kopfzeileneintrag Content-Disposition kann zum Beispiel jener Name, den die Datei am Client inne gehabt hat, ermittelt werden; der Kopfzeileneintrag Content-Type gibt hingegen Auskunft über das Dateiformat (über den Content-Type) der Datei. Im betrachteten Beispiel werden diese Informationen zur...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang