У меня есть сервер 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
Как я могу успешно получить веб-приложение в подпапках? Спасибо.