Mit ASP.NET MVC5 mit Microsoft.AspNet.Identity v2.2.1 (aktueller neuester Version)ASPnet MVC Identität - SendAsync Httpstatuscode
Ist es möglich, den Httpstatuscode von dieser SendAsync E-Mail-Methode zurückgeben?
Es läuft gut, Senden einer E-Mail. Das Problem ist, wenn der Dienst mit einem nicht 200 HttpStatusCode fehlschlägt, wird es verschluckt. Ich möchte, dass der Benutzer benachrichtigt wird, wenn die E-Mail nicht zugestellt werden kann.
public class EmailService : IIdentityMessageService
{
public async Task SendAsync(IdentityMessage message)
{
var client = new RestClient
{
BaseUrl = new Uri("https://api.mailgun.net/v3"),
Authenticator = new HttpBasicAuthenticator("api", GetMailGunKey())
};
var request = new RestRequest();
request.AddParameter("domain", "mg.davestopmusic.com", ParameterType.UrlSegment);
request.Resource = "{domain}/messages";
request.AddParameter("from", "Dave Mateer <[email protected]>");
request.AddParameter("to", message.Destination);
request.AddParameter("subject", message.Subject);
request.AddParameter("text", message.Body);
request.AddParameter("html", message.Body);
request.Method = Method.POST;
var response = await client.ExecuteTaskAsync(request);
int sc = (int) response.StatusCode;
if (response.StatusCode != HttpStatusCode.OK)
{
// display the status code to the user
}
}
E-Mail Bestätigung und Passwort-Reset-Funktionalität Änderungen von hier:
Die Versuchung, einen anderen Identitätsanbieter in der Hoffnung zu gehen, ist es ist erweiterbar: https://github.com/brockallen/BrockAllen.MembershipReboot https://weblog.west-wind.com/posts/2015/Apr/29/Adding-minimal-OWIN-Identity-Authentication-to-an-Existing-ASPNET-MVC-Application
Ich brauche keine externe Authentifikation.
Vielleicht brauche ich eine andere Methode, die den StatusCode zurückgibt und dies irgendwie anstelle von SendAsync verdrahtet.
public Task<int> SendAsync2(IdentityMessage message)
{
// blah
int sc = (int) response.StatusCode;
return Task.FromResult(sc);
}
Danke Tieson - genau was ich brauchte! Exception-Wurf-Lösung funktioniert gut. Postal/Hangfire Gedanken zu groß. –