HttpCompileException: внешнее исключение при попытке доступа к представлению Razor в ServiceStack, размещенном на Apache+mod_mono.

Я получаю HttpCompileException при попытке доступа к представлению бритвы. Журнал ошибок не содержит информации. То же развертывание работает на NGinx+FastCGI, но не на Apache+mod_mono.

Я не использую автоконфигурацию mod_mono, потому что я (пока) не нашел способ заставить ее работать.

Это моя "ручная" apache2.conf конфигурация для моно:

MonoAutoApplication disabled
AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .axd
MonoApplications "/:/var/www/MyAppName"
<Location />
    SetHandler mono
</Location>

Это ошибка, которую я получаю при попытке доступа к представлению бритвы:

System.Web.HttpCompileException: External exception
  at ServiceStack.Razor.Compilation.RazorPageHost.Compile () [0x00000] in <filename unknown>:0 
  at ServiceStack.Razor.Managers.RazorPageResolver.EnsureCompiled (ServiceStack.Razor.Managers.RazorPage page, IHttpResponse response) [0x00000] in <filename unknown>:0 
  at ServiceStack.Razor.Managers.RazorPageResolver.CreateRazorPageInstance (IHttpRequest httpReq, IHttpResponse httpRes, System.Object dto, ServiceStack.Razor.Managers.RazorPage razorPage) [0x00000] in <filename unknown>:0 
  at ServiceStack.Razor.Managers.RazorPageResolver.ResolveAndExecuteRazorPage (IHttpRequest httpReq, IHttpResponse httpRes, System.Object model, ServiceStack.Razor.Managers.RazorPage razorPage) [0x00000] in <filename unknown>:0 
  at ServiceStack.Razor.Managers.RazorPageResolver.ProcessRequest (IHttpRequest httpReq, IHttpResponse httpRes, System.Object dto) [0x00000] in <filename unknown>:0 
  at ServiceStack.WebHost.Endpoints.Formats.HtmlFormat+<>c__DisplayClass1.<SerializeToStream>b__0 (IViewEngine x) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable.Any[IViewEngine] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 
  at ServiceStack.WebHost.Endpoints.Formats.HtmlFormat.SerializeToStream (IRequestContext requestContext, System.Object response, IHttpResponse httpRes) [0x00000] in <filename unknown>:0 
  at ServiceStack.WebHost.Endpoints.Extensions.HttpResponseExtensions.WriteToResponse (IHttpResponse response, System.Object result, ServiceStack.ServiceHost.ResponseSerializerDelegate defaultAction, IRequestContext serializerCtx, System.Byte[] bodyPrefix, System.Byte[] bodySuffix) [0x00000] in <filename unknown>:0 

Я просмотрел RazorPageHost.Compile в источниках ServiceStack и вижу, что HttpCompileException выдается в случае, если результат из _codeDomProvider.CompileAssemblyFromDom содержит некоторые ошибки, что имеет смысл.

Есть ли какая-то особая конфигурация, позволяющая CodeDomProvider работать с приложениями ServiceStack, размещенными на mod_mono Apache?

РЕДАКТИРОВАТЬ: похоже, что это не относится к ServiceStack, другие приложения ASP.NET, развернутые на том же сервере, имеют ту же проблему.


person Marek    schedule 21.11.2013    source источник
comment
какую версию моно вы используете?   -  person knocte    schedule 22.11.2013