_viewStart.cshtml не наследует System.Web.WebPages.StartPage в приложении веб-API 2.0C#

Место общения программистов C#
Ответить
Anonymous
 _viewStart.cshtml не наследует System.Web.WebPages.StartPage в приложении веб-API 2.0

Сообщение Anonymous »

У меня есть веб-приложение API 2.0, в которое я хочу добавить обработку представления.

Я использую postal.mvc5 и хочу отправить электронное письмо из приложения.

У меня решена обычная маршрутизация контроллера, и теперь мне нужно решить последнюю ошибку.

Страница _ViewStart.cshtml, реализованная с помощью Postal.Mvc5:

Код: Выделить всё

@{
Layout = null;
}
Моя страница web.config в папке представлений:
Я получаю следующую ошибку:


Тип «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
1 поддерживаемое расширение) в System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, модуль записи TextWriter, экземпляр объекта) в System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, модуль записи TextWriter) в Postal.EmailViewRenderer.RenderView(представление IView, ViewDataDictionary viewData, ControllerContext контроллерКонтекст, ImageEmbedder imageEmbedder) в Postal.EmailViewRenderer.Render(Электронная почта, String viewName) в Postal.EmailService.CreateMailMessage(Электронная почта) в Postal.EmailService.Send(Электронная почта) в Postal.Email.Send()


Я знаю, что это довольно нестандартно, но как мне обойти эту последнюю ошибку?

Обновление по дальнейшей отладке:

Я использую 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»