2016-06-21 7 views
0

Ich habe ein neues Projekt mithilfe der ASP.NET-Webanwendungsvorlage in Visual Studio 2015 erstellt. Dann wählte ich MVC und individuelle Benutzerkonten, um die Vorlage weiter anzugeben. Die Lösung, die ich bekommen habe, ist komplett und bietet mir alle Webseiten, die Sie für die Kontoverwaltung benötigen, wie Registrierung und Anmeldung.Wie kann ich ein Konto in meiner MVC 5 Web App registrieren, ohne das Formular oder die Webseite zu verwenden?

Jetzt möchte ich jedoch einen Xamarin.Forms Mobile Client in dieses Kontoverwaltungsschema einbinden . Ich mache eine native UI, um Benutzer zu registrieren, anstatt sie auf eine Webseite oder eine Webansicht umzuleiten. Ich möchte Benutzerregistrierungsdaten wie Benutzername und Kennwort von dieser Benutzeroberfläche an den Server senden, damit ein Konto erstellt wird. Das bedeutet, dass ich die von meiner MVC-App angebotenen Webseiten nicht verwenden möchte, sondern die Registrierungsdaten an den Server senden und einen Account erstellen lassen möchte, der weder Erfolg noch Misserfolg zeigt.

Ich erwarte, dass ich entweder HTTP-POSTs zu Login-und Registrierung Endpunkte in der AccountController verwenden oder implementieren Sie eine öffentliche API. Wenn Sie einen Beitrag verfassen, wird jedoch eine Webseite zurückgegeben, und mein Kunde ist nicht an einer Webseite interessiert.

Ich denke, eine der oben genannten sollte möglich sein, ganz einfach zu implementieren, aber ich habe eine harte Zeit auf der Suche nach Antworten oder Methoden, da ich nicht weiß, wie ich mein Problem richtig und mit der Fülle von Anleitungen auf MVC sind alle meine Ergebnisse matschig.

Ist meine Vorstellung davon fehlerhaft oder habe ich ein grundlegendes Konzept von MVC verpasst? Was sind die Schritte, die ich unternehmen sollte, um dies zu ermöglichen?

+0

Wie oder in welcher Technologie wird der mobile Client entwickelt? –

+0

Xamarin.Forms, ich werde das in Frage stellen. Entschuldigen Sie. – Zimano

+0

Dann sollten Sie auf WebAPI-Steuerelemente zugreifen können –

Antwort

1

Ein Missverständnis ist, dass ein POST eine Webseite zurückgibt. Sie können jede Art von Inhalt von einem MVC-Controller zurückgeben. Ihre Endpunkte für die Kontoregistrierung sollten jedoch Web-API-Controller sein, die JSON zurückgeben. JSON kann so einfach sein wie ein boolescher Wert, der angibt, ob die Aktion erfolgreich war oder nicht.

Sie müssen MVC überhaupt nicht verwenden. Sie können die Konto-Controller und Ansichten, die die Vorlage für Sie erstellt hat, vollständig entfernen. Kopieren Sie einfach den Code, den Sie von den MVC-Controllern benötigen, in Ihre Web-API-Methoden.

Sie haben Recht, das ist ziemlich einfach zu tun.

+1

Ich habe dieses Handbuch gefunden, das vielversprechend aussieht. Ich denke "Web API" ist das Schlüsselwort hier. http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api Vielen Dank für Ihre Antwort, und ich glaube, das ist genau die Art, wie ich das tun werde. Ich werde versuchen, und wenn das funktioniert, kann ich Ihre Antwort akzeptieren :) – Zimano

+0

Ich habe eine Web-API implementiert, und mein Client erhält nun Tokens nach der Registrierung mit einer JSON-Anfrage erfolgreich. – Zimano

+0

Gut zu hören! Ich weiß nicht, warum jemand deine Frage abgelehnt hat. Ich habe es gewählt. –

0

Ich denke, Sie können ASP.NET Web API für diese Aufgabe verwenden. Auf dem Server hosten Sie Ihre API zum Registrieren der Benutzer sowie zum Anmelden an einer Clientanwendung.

Nun müssen Sie diese API in einer Clientanwendung verwenden. Die Client-Anwendung könnte eine Konsolenanwendung, eine Windows-Anwendung oder eine Webanwendung sein. Es gibt viele Tutorials über die Erstellung einer Web-API auf der offiziellen ASP.NET Website.