Guest User

Untitled

a guest
Jun 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. public class BaseMailer
  2. {
  3. protected void Send(Email email)
  4. {
  5. var mailerName = GetType().Name.Replace("Mailer", string.Empty);
  6.  
  7. var viewsPath = Path.GetFullPath(string.Format(HostingEnvironment.MapPath(@"~/Views/Emails/{0}"), mailerName));
  8. var engines = new ViewEngineCollectionWithoutResolver();
  9. engines.Add(new FileSystemRazorViewEngine(viewsPath));
  10.  
  11. var emailService = new EmailService(engines);
  12.  
  13. emailService.Send(email);
  14. }
  15.  
  16. private class ViewEngineCollectionWithoutResolver : ViewEngineCollection
  17. {
  18. public ViewEngineCollectionWithoutResolver()
  19. {
  20. var resolverField = typeof(ViewEngineCollection).GetField("_dependencyResolver",
  21. BindingFlags.NonPublic | BindingFlags.Instance);
  22.  
  23. var resolver = new EmptyResolver();
  24. resolverField.SetValue(this, resolver);
  25. }
  26.  
  27. private class EmptyResolver : IDependencyResolver
  28. {
  29. public object GetService(Type serviceType)
  30. {
  31. return null;
  32. }
  33.  
  34. public IEnumerable<object> GetServices(Type serviceType)
  35. {
  36. return Enumerable.Empty<object>();
  37. }
  38. }
  39. }
  40. }
Add Comment
Please, Sign In to add comment