OpenRasta поддерживает Моно?

Хотя Моно поддержка не является грандиозным предприятием для нас, я полагал, что OpenRasta поддерживал ее причина, она имеет некоторые сообщения о фиксации об этом..

Ну, я попытался создать его на Моно и получил Неоднозначные ссылки типа (после того, как вручную создание как 10 obj каталоги.), Таким образом, я пытался просто использовать предварительно созданные блоки, которые я имел под рукой, и это дало мне Object Reference Not Set To Instance of an Object (обычная ошибка я имею с моно..) в OpenRasta.Diagnostics.DebuggerLoggingTraceListener.WriteAll (использующий xsp2)

Есть ли официальная поддержка для Моно, или я пропускаю своего рода дополнительный шаг для развертывания?

5
задан Earlz 26 March 2010 в 03:29
поделиться

2 ответа

OpenRasta не на данный момент тестируется на моно. Это изменится со следующей итерацией, но ответ - «я не знаю».

DebuggerLoggingTraceListener записывает в вывод отладчика, у моно могут быть разные ожидания относительно того, как работает код.

5
ответ дан 18 December 2019 в 14:44
поделиться

Мне удалось получить простой пример OpenRasta, обслуживающий тривиальное представление в XML / JSON и размещенный через OpenBastard.Envrionments.HttpListenerHostWithConfiguration, работающий на Mono ( 2.6.3) с небольшим набором изменений в его исходном коде (OpenRasta; в частности, ветка 2.0.3000).

Я сделал свой патч доступным здесь для всех, кто заинтересован.Изменения должны быть достаточно понятными (я включил комментарии), но я также опишу причины изменений ниже ...

  1. OpenRasta.Diagnostics.DebuggerLoggingTraceListener предполагает, что ему будет передана ссылка на экземпляр System .Diagnostics.TraceEventCache при вызове из System.Diagnostics.TraceSource. Это предположение справедливо для платформы .NET, но реализация TraceSource в Mono всегда передает пустую ссылку.

  2. Mono выдает исключение NotImplementedException для методов get и set свойства System.Runtime.Remoting.Messaging.CallContext.HostContext, указанного в OpenRasta.Hosting.AmbientContext и OpenRasta.Hosting.ContextScope.

  3. Последующие запросы от клиента могут завершиться ошибкой, если объект System.Net.HttpListenerResponse или его базовый поток, соответствующий предыдущему запросу, не был явно закрыт. Этот момент мне менее понятен, в документации MSDN указано, что объект ответа должен быть закрыт, но проблема, с которой я столкнулся, не проявлялась при запуске на платформе .NET.

В настоящее время я работаю над хобби-проектом, который влечет за собой проектирование и создание веб-службы RESTful на Mono. Я буду обновлять патч по мере необходимости; надеюсь, кому-то это будет полезно.

Отказ от ответственности: я новичок в OpenRasta и относительно новичок в C # / «серьезной» разработке программного обеспечения в целом. Я не тестировал какие-либо другие компоненты OpenRasta, кроме упомянутых выше, и модульные тесты продолжают терпеть неудачу; ваш пробег , вероятно, будет отличаться.

6
ответ дан 18 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: