Ich frage mich, was ich in diesem Fall zurückgeben sollte. Mein UI und Service Layer sind in verschiedenen Projekten.Was sollte ich von meiner Serviceebene zurückgeben? DotNetOpenAuth
Dies ist, was
geschieht -> User auf der Website kommt -> wählt Benutzer OpenID-Provider und Hits anmelden -> Post
Controller zurück[HttpPost]
public ActionResult Login(LoginViewModel loginViewModel)
{
var test = accountService.SendOpenIdRequest(loginViewModel.OpenId);
}
public class LoginViewModel
{
public OpenId OpenId { get; set; }
}
Also nehme ich in einem Ansichtsmodell, dass meine Domäne enthält Klasse.
public class OpenId
{
public string Url { get; set; }
}
Bisher in meinem SendOpenIdRequest
public ? SendOpenIdRequest(OpenId openId)
{
var openIdRelyingParty = new OpenIdRelyingParty();
var response = openIdRelyingParty.GetResponse();
Identifier id;
if (Identifier.TryParse(openId.Url, out id))
{
try
{
var req = openIdRelyingParty.CreateRequest(openId.Url);
return req.RedirectingResponse
}
catch (ProtocolException ex)
{
}
}
return null;
}
Nun ist dies, wo ich verloren gehen, da sie so viele Dinge, die ich zurückkehren konnte.
ich zurückkehren konnte
return req.RedirectingResponse.AsActionResult()
aber ich denke, das ist wie jetzt schlecht wäre ich auf asp.net MVC Actionverlasse mich und wenn ich diesen Service Schicht aus einem anderen Projekt sagen verwenden (vielleicht habe ich eine Webservice das verbindet sich mit einer mobilen Anwendung). Es wird nicht gut funktionieren.
Ich könnte return OutgoingWebResponse
aber ich bin nicht wirklich sicher, was ich damit machen soll, sobald ich es zurückbekomme.
Ich kann auch die IAuthenticationRequest zurückkehren, was aus erzeugeAnf erzeugt()
Schließlich konnte ich meine Domain Object (OpenId) mit einem von denen, kehre ich oben in aufgelistet.