Можно ли заставить любое приложение ASP.net (или большинство из них) работать под Linux с использованием Mono? - PullRequest
3 голосов
/ 18 декабря 2009

Другими словами, теперь, когда у нас есть Mono, стал ли C # таким же независимым от ОС, как Java, когда речь идет о серверных веб-приложениях? Или все еще существуют большие ограничения в отношении того, что Mono может / не может делать, или, может быть, какие библиотеки могут быть доступны для серверного приложения C # в Linux?

Ответы [ 4 ]

7 голосов
/ 18 декабря 2009

Ответ на ' может любой (или большинство) приложений ASP.NET, которые будут запущены для запуска "- ДА . Есть страница с некоторыми распространенными подводными камнями: Mono: портирование приложений ASP.NET (также представляет интерес Страница портирования приложений WinForms )

Наиболее распространенные проблемы, с которыми я сталкивался в поле [1], по количеству вхождений:

  • Код, который не знает о чувствительных к регистру файловых системах или не заботится об обработке файлов / путей. Эти требуют работы .
  • P / Вызывает: есть много P / Вызывает родные функции Windows. Большинство из них не поддерживаются в Mono (и не имеют смысла в среде Unix). Однако у нас есть сопоставления для нескольких или наиболее распространенных (CloseHandle и тому подобное). Эти требуют повторения тех же вещей с использованием .NET API .
  • Ошибки: верите или нет, ошибки в строках кода 3M + все еще есть. Мы стараемся реагировать и исправлять ошибки как можно скорее (и мы хотели бы сделать больше, винить в этом 24-часовой период ротации). Чем проще контрольный пример для воспроизведения проблемы, тем быстрее она будет решена. Подайте отчет об ошибке, и мы постараемся исправить его как можно скорее .
  • Отсутствующие или нереализованные API: у нас все еще они есть, и мы стараемся сосредоточиться на наиболее используемых. Иногда мы используем отчеты Moma (см. Ссылку ниже) для определения приоритетов.

Взгляните на страницу Moma Reports , которая содержит предоставленные пользователем данные о приложениях, в которых запущено Moma .

[1]: поле варьируется от одного из крупнейших развертываний ASP.NET в Западном полушарии до небольших приложений с открытым исходным кодом.

3 голосов
/ 18 декабря 2009

Да и нет ... да, теперь вы можете запускать asp.net в Linux через Mono.

Тем не менее, я думаю, что на практике вы найдете гораздо больше ограничений, специфичных для платформы, чем в аналогичных Java-приложениях. Я редко вижу серьезные проблемы, связанные с платформой, даже в программном обеспечении среднего качества, написанном на Java.

С ASP.Net вы будете регулярно видеть приложения и сторонние библиотеки, которые практически не работают в Mono или просто не работают вообще. По моему опыту, усилия по переносу могут быть не очень высокими, но они намного выше, чем у аналогичных Java-приложений.

2 голосов
/ 18 декабря 2009

Здесь много полезной информации от Mono Team.

http://www.mono -project.com / ASP.NET

2 голосов
/ 18 декабря 2009

Не каждое приложение:

Сегодня Mono API где-то в между .NET 2.0 и .NET 3.5 смотрите наши Дорожная карта для деталей о том, что является реализован.

С Может ли Mono запускать двоичные файлы, созданные Visual Studio? в Mono Faq General . Вы можете просмотреть подробное состояние ASP.NET в Mono на странице ASP Tests .

...