Я использую postal.mvc5 и хочу отправить электронное письмо из приложения.
У меня решена обычная маршрутизация контроллера, и теперь мне нужно решить последнюю ошибку.
Страница _ViewStart.cshtml, реализованная с помощью Postal.Mvc5:
Код: Выделить всё
@{
Layout = null;
}
Код: Выделить всё
Тип «ASP._Page_Views_Emails__ViewStart_cshtml» не наследуется от
«System.Web.WebPages.StartPage».
Полная ошибка:
Источник: System.Web ---- Целевой сайт: CheckAssignableType Временная метка: 23.10.2017 15:05:48 Сообщение: Тип «ASP._Page_Views_Emails__ViewStart_cshtml» не наследуется от «Система.Web.WebPages.StartPage». ----StackTrace: в System.Web.UI.Util.CheckAssignableType(Type baseType, Type type) в System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requireBaseType, HttpContext context, BooleanallowCrossApp) в System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(String virtualPath, Type требуемыйBaseType) в System.Web.WebPages.BuildManagerWrapper.CreateInstanceOfType[T](String virtualPath) в System.Web.WebPages.VirtualPathFactoryExtensions.CreateInstance[T](фабрика IVirtualPathFactory, String virtualPath) в System.Web.WebPages.VirtualPathFactoryManager.CreateInstanceOfType[T](String virtualPath) в System.Web.WebPages.VirtualPathFactoryExtensions.CreateInstance[T](фабрика IVirtualPathFactory, String virtualPath) в System.Web.WebPages.StartPage.GetStartPage (страница WebPageRenderingBase, IVirtualPathFactory virtualPathFactory, String appDomainAppVirtualPath, String fileName, IEnumerable
Код: Выделить всё
1 supportedExtensions) at System.Web.WebPages.StartPage.GetStartPage(WebPageRenderingBase page, String fileName, IEnumerableЯ знаю, что это довольно нестандартно, но как мне обойти эту последнюю ошибку?
Обновление по дальнейшей отладке:
Я использую Enterprise Logging в веб-службе и заметил, что она не отправляла электронные письма об ошибках до следующего вызова, поэтому мои электронные письма об ошибках не отправлялись до следующего вызова веб-службы. Я добавил раздел system.net в основной файл web.config с настройкой smtp, и это фактически ухудшило ситуацию. Во время работы веб-службы электронные письма не отправлялись.
Я попробовал создать экземпляр обычного веб-приложения в файле global.asax для веб-API, но, похоже, это не дало реального эффекта.
Я добавил некоторую маршрутизацию в файл web.config в соответствии с ответом ниже, но это также не дало никакого эффекта. Приложение wep api 2 имеет те же ссылки и другие элементы конфигурации, что и обычное веб-приложение, но все равно имеет проблему.
Одним из решений было бы воссоздать веб-API 2 как обычный веб-сайт с добавлением веб-API 2. Об этом есть много онлайн-ссылок, и исходное приложение, из которого было создано приложение веб-API 2, представляло собой обычный веб-сайт с возможностями API.
Из литературы выяснилось, что эта проблема двойственности, с которой я сталкиваюсь, вероятно, лечится с помощью .Net Core, но я не могу использовать его в нашей текущей системе.
Я думаю, следующий вопрос: почему sendmail отключен в Интернете API 2 работает.
А как насчет веб-API 2, который отключит отправку почты во время вызова веб-API?
Подробнее здесь: https://stackoverflow.com/questions/468 ... eb-api-2-0
Мобильная версия