Mono - ASP.NET子应用程序在域子文件夹中的应用

时间:2011-08-30 01:55:31

标签: asp.net mono apache2 mod-mono

我有一个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,我需要我的Web应用程序更深层次地存在两个子文件夹:

<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 :(得分:0)

原来这是一个Apache配置问题,这个问题是无关的,但却引起了副作用。我的VirtualHost设置不正确。