2010-11-09 10 views
0

我在.NET 3.5 SP1中使用基於Web的表單的URL路由。它的工作很好,但是當我用windowxp託管它會導致異常。即使我無法打開主頁。任何一個PLZ是什麼問題..部署基於Web的URL時出現ConfigurationErrorsException使用.Net3.5 SP1路由網站

Public Sub HyperLinkRoutes() 
    System.Web.Routing.RouteTable.Routes.Add("Kms_Hyperlink_Document", New System.Web.Routing.Route("GetFiles/Kms_Hyperlink_Document/{DocumentID}", New RouteHandler("~/KMS/PreviewHyperlink.aspx"))) 
End Sub 

public class RouteHandler : IRouteHandler 
{ 
    public RouteHandler() 
    { 

    } 
    public RouteHandler(string virtualPath) 
    { 
     _virtualPath = virtualPath; 
    } 

    public IHttpHandler GetHttpHandler(RequestContext requestContext) 
    { 
     if (requestContext.RouteData.Values["DocumentID"] != null) 
     { 
      var display = BuildManager.CreateInstanceFromVirtualPath(
          _virtualPath, typeof(Page)) as Page ; 
      if (display != null) 
      { 
       //display.DocumentID = requestContext.RouteData.Values["DocumentID"] as string; 
       foreach (var value in requestContext.RouteData.Values) 
       { 
        requestContext.HttpContext.Items[value.Key] = value.Value; 
       } 

       return display; 
      } 
      else 
      { 
       return null; 
      } 
     } 
     else 
     { 
      return null; 
     } 
    } 

    string _virtualPath; 
} 

異常信息: 異常類型:ConfigurationErrorsException 異常消息:指定的模塊找不到。 (從HRESULT異常:0x8007007E)

堆棧跟蹤:在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串的AssemblyName,布爾starDirective) 在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() 在System.Web程序。 Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) at System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) at System.Web.Compilation.BuildManager。 BatchCompileWebDirectoryInternal(VirtualDirectory vdir,Boolean ignoreErrors) at System.Web.Compilation.BuildManager.BatchCompileWebDirectory(V iVualDirectory vdir,VirtualPath virtualDir,Boolean ignoreErrors) at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean allowCrossApp,Boolean noAssert) 在System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(虛擬路徑virtualPath,類型requiredBaseType,HttpContext上下文,布爾allowCrossApp,布爾noAssert) at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context,String requestType,VirtualPath virtualPath,String physicalPath) at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context,String requestType,VirtualPath virtualPath ,String physicalpath) at System.Web.HttpApplication.MapHttpHandler(HttpContext context,String requestType,VirtualPath path,String pathTranslated,Boolean useAppConfig) at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,布爾型& completedSynchronously)

回答

0

您需要IIS 6.0或更高版本東東。 XP只提供IIS 5.1。你可以試試IIS Express的東西。

+0

我正在使用IIS 7.0 – Harendra 2010-11-09 09:43:32

+0

@Harendra:不在XP上,你不是! – leppie 2010-11-09 09:44:44

+0

你有禮貌,但與Vista相同的問題......我在Vista機器上使用IIS 7。所以它似乎不是一個IIS問題。 – Harendra 2010-11-09 09:52:13