2012-04-30 3 views
38

Возможно ли использовать хост asp.net mvc внутри другого приложения, т.е. консоль, формы окон, сервис и т. д.Самостоятельный хостинг asp.net mvc

Я хотел бы создать приложение, предлагающее веб-интерфейс для его управления, и я хотел бы использовать asp.net mvc для его веб-части.

Я действительно быстро посмотрел на Нэнси, которая выглядит так, как будто это сработает, хотя его не asp.net mvc он поддерживал бритву, хотя он не имеет такого же уровня поддержки для него, как asp.net (например, . сильно типизированные просмотры)

Я также нашел этот вопрос, но это на самом деле не вдаваться в глубину Possible to use ASPNET MVC2 without IIS?

ответ

34

Вы можете использовать «IIS 7.0 Hostable Web Core» и размещение веб-сервер в качестве части любого пользовательский процесс, даже консольное приложение. Преимуществом является то, что он очень похож на полномасштабный IIS (включая конфигурацию и т. Д.), Но сам веб-сервер работает в вашем процессе.

Посмотрите на следующие статьи:

  1. Host your own Web Server in your application using IIS 7.0 Hostable Web Core
  2. Creating Hosted Web Core Applications
+0

очень хороший! Отметьте как ответ, если никому больше нечего добавить –

+26

Это выглядело хорошо, пока я не прочитал, что компьютер, на котором работает этот код, должен иметь IIS7, даже если ваш код размещен в вашем собственном процессе. –

10

Пожалуйста, обратите внимание на http://cassinidev.codeplex.com/ Она имеет много преимуществ, например

  • Нет необходимости IIS 7 на клиентской машине
  • Поддержка MVC (я проверил сам)
  • Работа хорошо в Windows Forms и Web Control Browser для упаковки как для Windows App
  • платформы
  • Cross Win OS (Windows XP, Vista, 7) У меня есть тест XP с .NET 4 установлено

Надеюсь, что это поможет.

+0

, но он не запускается в пользовательском процессе, не так ли? – SeriousM

+1

Он может запускаться в пользовательском процессе, или вы можете запустить его с помощью собственного процесса хостинга с использованием аргументов командной строки. Чтобы запустить его в своем собственном процессе, вам нужно всего лишь ссылаться на функции сборки и вызова .NET для запуска или остановки сервера (который выполняется в своем потоке). –

2

Я знаю, что этот вопрос старый, но он по-прежнему имеет значение, поэтому с .NET Core 1.0 + ASP.NET MVC 6 вы можете легко запускать ваше приложение MVC. Вы даже можете комбинировать приложения MVC и WebAPI в одном, и позже вы можете решить, хотите ли вы использовать IIS, IIS Express или функцию самостоятельного хостинга .NET Core.

Вы можете попробовать, если вы будете следовать YEOMAN подход с этого поста: https://stackoverflow.com/a/30314393/980247

Смежные вопросы