Mono - ASP.NET приложение в подпапке домена - PullRequest
1 голос
/ 30 августа 2011

У меня есть сервер Apache с mod_mono, подключенный к устаревшему приложению ASP.NET. Похоже, я не могу заставить это приложение работать, если переместить его из папки верхнего уровня.

Например, следующий моно .webapp успешно работает на http://localhost/Service.asmx (как мое веб-приложение в folder2):

<apps>
<web-application>
                <name>Test</name>
                <vpath>/</vpath>
                <path>/srv/aspnettest/folder1/folder2</path>
                <vhost>localhost</vhost>
        </web-application>
</apps>

Однако из-за устаревшего URL мне нужно, чтобы мое веб-приложение существовало на две подпапки глубже, например:

<apps>
<web-application>
                <name>Test</name>
                <vpath>/</vpath>
                <path>/srv/aspnettest/</path>
                <vhost>localhost</vhost>
        </web-application>
</apps>

Если я попытаюсь перейти на http://localhost/folder1/folder2/Service.asmx, произойдет сбой с

HTTP 500. Error processing request.

Stack Trace:

System.Web.HttpException: Type MyType.Service not found.
  at System.Web.UI.SimpleWebHandlerParser.GetTypeFromBin (System.String tname) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.SimpleBuildProvider.LoadTypeFromBin (System.Web.Compilation.BaseCompiler compiler, System.Web.UI.SimpleWebHandlerParser parser) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.GenericBuildProvider`1[TParser].GetGeneratedType (System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManagerCacheItem..ctor (System.Reflection.Assembly assembly, System.Web.Compilation.BuildProvider bp, System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.StoreInCache (System.Web.Compilation.BuildProvider bp, System.Reflection.Assembly compiledAssembly, System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GenerateAssembly (System.Web.Compilation.AssemblyBuilder abuilder, System.Web.Compilation.BuildProviderGroup group, System.Web.VirtualPath vp, Boolean debug) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp, Boolean debug) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler (System.Web.HttpContext context, System.String verb, System.String url, System.String filePath) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url, Boolean ignoreContextHandler) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication+<Pipeline>c__Iterator2.MoveNext () [0x00000] in <filename unknown>:0 

Как я могу успешно получить веб-приложение в подпапках? Спасибо.

1 Ответ

0 голосов
/ 02 сентября 2011

Оказывается, это была проблема конфигурации Apache, которая не была связана, но вызвала это как побочный эффект Я неправильно настроил VirtualHost.

...