У меня возникла странная проблема при попытке использовать Postal в приложении MVC, которое также использует Mvc.Unity4.
Я считаю, что проблема возникает из-за отсутствия доступа к HttpContext.
Я пытаюсь отправить электронное письмо изнутри одного из моих контроллеров с помощью Postal:
dynamic e = new Email("AccountActivation");
e.To = "name@email.com"
e.Send();
Попытка отправить электронное письмо приводит к следующему исключению в Unity.Mvc4.UnityDependencyResolver:
[NullReferenceException: Object reference not set to an instance of an object.]
Unity.Mvc4.UnityDependencyResolver.get_ChildContainer() +57
Unity.Mvc4.UnityDependencyResolver.GetService(Type serviceType) +241
System.Web.Mvc.DefaultViewPageActivator.Create(ControllerContext controllerContext, Type type) +87
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +216
Postal.EmailViewRenderer.RenderView(IView view, ViewDataDictionary viewData, ControllerContext controllerContext, ImageEmbedder imageEmbedder) +182
Postal.EmailViewRenderer.Render(Email email, String viewName) +204
Postal.EmailService.CreateMailMessage(Email email) +72
Postal.EmailService.Send(Email email) +65
Я не слишком знаком с Mvc.Unity4, так как он был добавлен другим разработчиком.
Взявшись за соломинку, я попытался зарегистрировать правильные типы Postal в Application_Start. Инициализация контейнера Unity происходит в Bootstrapper.cs:
container.RegisterType(new InjectionConstructor());
container.RegisterInstance(new EmailService());
В моем контроллере есть:
private IEmailService _emailService;
public UsersController()
{
_emailService = new Postal.EmailService();
}
public UsersController(Postal.EmailService emailService)
{
_emailService = emailService;
}
[HttpPost]
public async Task SendEmail(EmailViewModel viewModel)
{
dynamic e = new Email("AccountActivation");
e.ViewData.Add("To", "name@email.com");
e.ViewData.Add("From", "no-reply@email.com");
_emailService.Send(e);
More code...
}
Подробнее здесь: https://stackoverflow.com/questions/283 ... mvc-unity4
Почтовая программа MVC конфликтует с Mvc.Unity4 ⇐ C#
Место общения программистов C#
-
Anonymous
1761325736
Anonymous
У меня возникла странная проблема при попытке использовать Postal в приложении MVC, которое также использует Mvc.Unity4.
Я считаю, что проблема возникает из-за отсутствия доступа к HttpContext.
Я пытаюсь отправить электронное письмо изнутри одного из моих контроллеров с помощью Postal:
dynamic e = new Email("AccountActivation");
e.To = "name@email.com"
e.Send();
Попытка отправить электронное письмо приводит к следующему исключению в Unity.Mvc4.UnityDependencyResolver:
[NullReferenceException: Object reference not set to an instance of an object.]
Unity.Mvc4.UnityDependencyResolver.get_ChildContainer() +57
Unity.Mvc4.UnityDependencyResolver.GetService(Type serviceType) +241
System.Web.Mvc.DefaultViewPageActivator.Create(ControllerContext controllerContext, Type type) +87
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +216
Postal.EmailViewRenderer.RenderView(IView view, ViewDataDictionary viewData, ControllerContext controllerContext, ImageEmbedder imageEmbedder) +182
Postal.EmailViewRenderer.Render(Email email, String viewName) +204
Postal.EmailService.CreateMailMessage(Email email) +72
Postal.EmailService.Send(Email email) +65
Я не слишком знаком с Mvc.Unity4, так как он был добавлен другим разработчиком.
Взявшись за соломинку, я попытался зарегистрировать правильные типы Postal в Application_Start. Инициализация контейнера Unity происходит в Bootstrapper.cs:
container.RegisterType(new InjectionConstructor());
container.RegisterInstance(new EmailService());
В моем контроллере есть:
private IEmailService _emailService;
public UsersController()
{
_emailService = new Postal.EmailService();
}
public UsersController(Postal.EmailService emailService)
{
_emailService = emailService;
}
[HttpPost]
public async Task SendEmail(EmailViewModel viewModel)
{
dynamic e = new Email("AccountActivation");
e.ViewData.Add("To", "name@email.com");
e.ViewData.Add("From", "no-reply@email.com");
_emailService.Send(e);
More code...
}
Подробнее здесь: [url]https://stackoverflow.com/questions/28352164/mvc-postal-emailer-conflicting-with-mvc-unity4[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия