Может ли попросить Ubuntu работать на Ubuntu + Mono?

10

Вдохновленный старой беседой Hacker News об этом веб-сайте, мне интересно:

Могут ли Ubuntu и Mono запустить веб-сайт ASP.NET MVC, такой как Ask Ubuntu?

Технология находится в центре внимания здесь, а не на сайте. Не могли бы вы заменить IIS, ASP.NET, MVC и т. Д. На технологии с открытым исходным кодом, не требуя полной перестройки сайта?

Примечание от Оли : мета- обсуждение (то есть: Спросить Ubuntu перейти на Ubuntu + Mono?) Перенесено в отдельный вопрос в мета-части сайта

Дэн Бертон
источник
Людям, которые отмечают закрытие, я думаю, что техническая сторона этого (то есть «Можете ли вы запустить сайт ASP.NET MVC на Mono?») Имеет здесь свои достоинства, поскольку наша сфера деятельности включает разработку. Я склонен оставить это открытым.
Оли
Я проголосовал за закрытие, потому что думаю, что он будет принадлежать Meta, так как речь идет о самом сайте.
Хорхе Кастро,
2
@ Хорхе, это достаточно справедливо. Я спас технический элемент этого и "они будут мигрировать?" раздел можно перейти к мета.
Оли
1
Я одобряю изменения, внесенные Оли в мой вопрос. Спасибо.
Дэн Бертон,

Ответы:

8

У меня нет кодовой базы Ask Ubuntu, поэтому я не могу точно сказать, есть ли что-то специфическое для конкретной платформы, которое может вызвать блокировку, но в ответ на вопрос, можете ли вы перенести ее , ответ, вероятно, да .

Вы должны иметь в виду, что платформа, на которой работают веб-сайты ASP.NET, - это больше, чем просто магический бинарный файл ASP.NET:

  • ASP.NET в значительной степени можно заменить на Mono. Это не всегда красиво, и производительность не всегда велика, но это можно сделать.

  • ASP.NET MVC является движком шаблонов. Обычно он располагается поверх ASP.NET, но может работать в Mono с небольшими изменениями.

  • IIS может быть удален довольно просто, что позволяет использовать пользовательские обработчики, на которых работает SO, и заменить его Apache (и др.).

  • База данных технически самая большая часть целого. В простых случаях, когда вы используете хороший код, конечно. Вытереть базу данных и заменить ее. В частности, здесь кластерная структура серверов MSSQL, на которых работают сайты StackExchange, вероятно, может быть перенесена на MySQL (или другую), но, вероятно, потребуется значительная работа, так как, вероятно, имеется значительная часть специфичного для БД кода, скрывающегося вокруг, либо в базе данных. сам или (менее вероятно) в самом сайте. Большинство основанных на коде, специфичных для баз данных ошибок данных осталось в прошлом благодаря LINQ, который поддерживает Mono (также для баз данных, отличных от SQL Server).

Это ни в коем случае не исчерпывающий список того, что будет заменено, но это основные элементы.

Хотели бы вы или нет ... Это более сложный вопрос. К тому времени, как вы разыграли несколько десятков проблем, вы, вероятно, уже достигли той точки, когда вы могли бы просто переопределить систему в чем-то вроде Django. Конечно, это зависит от сложности системы. Это так же сложно, как кусок нити.

Оли
источник
+1 отличная информация. Я думаю, что ответ «можете ли вы портировать это» всегда «да, с достаточным усилием», но вы дали здесь несколько важных замечаний по поводу деталей того, что, возможно, нужно изменить.
Дэн Бертон,
1
asp.net mvc был открыт с помощью Microsoft (я знаю, насколько это плохо), поэтому версия в mono - это тот же код, что и версия .net.
трампстер