2 Stimmen

Wie kann ich über Silverlight auf eine REST-API zugreifen (mit einfacher Autorisierung)?

Ich versuche, eine run-of-the-mill REST-API durch eine Silverlight-Anwendung zugreifen, aber kann nicht scheinen, um grundlegende Authentifizierung zu arbeiten (mit Silverlight 4.0).

Ich verwende einen .NET WebClient und setze die webclient.Credentials mit einem gültigen Benutzernamen/Passwort (für die API).

Ich stoße auf zwei Hauptfehler:

System.NotSupportedException: BrowserHttpWebRequest unterstützt keine benutzerdefinierten Anmeldeinformationen. (dies tritt nur auf, wenn ich die webclient.UseDefaulCredentials auf false setzen)

et

System.NotImplementedException: Diese Eigenschaft wird von dieser Klasse nicht implementiert. at System.Net.WebRequest.set_Credentials(ICredentials value) (tritt auf, wenn webclient.UseDefaultCredentials überhaupt nicht gesetzt ist)

Was übersehe ich hier? Wird Basic Auth in Silverlight 4.0 immer noch nicht unterstützt?

1voto

Shawn Dempsay Punkte 68

Hier gibt es einen Artikel darüber http://mark.mymonster.nl/2009/12/02/silverlight-4-credentials-weve-got-it/ und es scheint, dass die magische Linie lautet:

WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp);

In meinem Fall scheint es die Anmeldeinformationen zu senden, aber ich immer noch am Ende mit einem 401-Fehler, aber ich habe gerade einen meiner Webserver zu versuchen und es kann nicht richtig konfiguriert werden, aber dies scheint, wie es funktionieren sollte.

1voto

Chris Sainty Punkte 8866

Ich würde auch vorschlagen, die Open-Source-Bibliothek Hängematte für REST Es bietet einen sehr nützlichen Wrapper für viele moderne Webaufrufe wie REST und oAuth.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X