我正在尝试在虚拟目录中设置Composite C1站点,但似乎Composite不喜欢它,我得到C1PageRouting错误。
我们正在将现有网站的某些部分实施为Composite,因此要求是保持现有网站的运行,并用其复合替换替换已更改的模块。所以我发现这样做的唯一方法是通过IIS虚拟目录。
以下是我尝试实施的IIS目录结构:
IIS_Sites [等级0]
>>**NonC1WebSite** [Level 1]
>>**ca** (Virtual Directory) [Level 2]
>>**en** (Virtual Directory) [Level 3]
>>**CompositeWebSite** (IIS Application) [Level 4]
+ App_Browsers [Level 4]
+ App_Code [Level 4]
+ Composite [Level 4]
+ .......etc........ [Level 4]
+ NonC1WebSite Folder1 [Level 1]
+ NonC1WebSite Folder2 [Level 1]
以下是我得到的错误:
对象引用未设置为对象的实例。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。 堆栈跟踪:
[NullReferenceException:对象引用未设置为对象的实例。] Composite.Core.Routing.Pages.C1PageRouteHandler..cctor()+ 200
[TypeInitializationException:'Composite.Core.Routing.Pages.C1PageRouteHandler'的类型初始值设定项引发异常。 Composite.Core.Routing.Pages.C1PageRouteHandler..ctor()+ 0 Composite.Core.Routing.Pages.C1PageRoute.GetRouteData(HttpContextBase context)+968 System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext)+355 System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context)+75 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+270
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.237
如果有什么事情会引起你的注意,请提供帮助。
如果我需要一些特殊的设置来让它工作,我会请求mawtex告诉我。
感谢。
答案 0 :(得分:0)
我通过升级到最新的复合3.0 RC解决了这个问题。感谢。