castle问题

问题描述

各位高手,我今天接了一个源码,使用的是castle容器组建,我用2010加载2008后,单步调试,总是namespaceTVS.Component{///<summary>///为将页面类添加到Castle容器中而建立的类,所有页面必须继承此类///</summary>publicclassPageBase:System.Web.UI.Page{protectedBindingFlagsBINDING_FLAGS_SET=BindingFlags.Public|BindingFlags.SetProperty|BindingFlags.Instance|BindingFlags.SetField;protectedoverridevoidOnInit(EventArgse){IWindsorContainercontainer=ObtainContainer();Typetype=this.GetType();PropertyInfo[]properties=type.GetProperties(BINDING_FLAGS_SET);foreach(PropertyInfopropertieinproperties){stringpname=propertie.Name;if(container.Kernel.HasComponent(pname)){propertie.SetValue(this,container[pname],null);}}base.OnInit(e);}publicIWindsorContainerObtainContainer(){IContainerAccessorcontainerAccessor=HttpContext.Current.ApplicationInstanceasIContainerAccessor;if(containerAccessor==null){thrownewApplicationException("你必须在HttpApplication中实现接口IContainerAccessor暴露容器的属性");}IWindsorContainercontainer=containerAccessor.Container;if(container==null){thrownewApplicationException("HttpApplication得不到容器的实例");}returncontainer;}}}propertie.SetValue(this,container[pname],null);出错!

解决方案

解决方案二:
在线等!
解决方案三:
结贴,搞了一天,终于明白了!<当你在转换的时候,千万不要选择转换成.netfromwork4.0版本!那样就会出现问题!>下班了,回家吃饭饭!
解决方案四:
该回复于2011-11-24 09:31:28被版主删除
解决方案五:
该回复于2011-11-24 09:31:27被版主删除

时间: 2024-11-17 14:06:11

castle问题的相关文章

Castle IOC容器内幕故事(上)

主要内容 1.WindsorContainer分析 2.MicroKernel分析 3.注册组件流程 一.WindsorContainer分析 WindsorContainer是Castle的IOC容器,也是它的一个核心,先来看一下WindsorContainer在Castle中所处的位置: 图1 WindsorContainer构建于MicroKernel之上,MicroKernel仅仅是提供了一个IOC的容器,非常的轻巧,它只依赖于Castle.Model一个程序集,但它的可扩展能力却很强,

Castle专题

Castle ActiveRecord学习实践(10) 深度分析Schema Pitfals Castle ActiveRecord学习实践(9) 使用ActiveRecord的一些技巧 Castle ActiveRecord学习实践(8) 数据有效性的验证 Castle ActiveRecord学习实践(7) 使用HQL查询 Castle ActiveRecord学习实践(6) 延迟加载和使用Where子句 Castle ActiveRecord学习实践(5) 实现Many–Many关系的映射

Castle.ActiveRecord的初始化配置补充及配置封装的解决方案

前些天我发了一篇关于AR的配置的文章,是我帮一位刚学习AR的朋友做了一个小实例后写上来的,里面我采用了IConfigurationSource,ActiveRecord是在web.config里配置的,其实ActiveRecord可以单独写在别的地方或动态配置也是可以的,比如用XML来配置,用Hashtable来配置.下面我简单介绍了怎么配置. 一.用XML配置,通过XmlConfigurationSource来获取配置信息,AppConfig.xml,详细配置请看下面xml数据 1<?xml

Castle IOC容器构建配置详解(二)

主要内容 1.基本类型配置 2.Array类型配置 3.List类型配置 4.Dictionary类型配置 5.自定义类型转换 一.基本类型配置 在Castle IOC的配置文件中,大家可能都已经注意一个问题了,就是不管组 件接收的是什么基本数据类型,我们一律没有在配置文件中指定,也就是说,不 管组件接收的类型是int型或者是String类型,我们都可以这样去配置: <component id="MyComponent"> <parameters> <po

Castle IOC容器构建配置详解(一)

主要内容 1.配置什么 2.几种配置方式 3.Include 介绍 4.Properties介绍 5.条件状态 一.配置什么 Castle IOC中并不像Spring.net那样贯穿着一个思想就是一切皆为配置,对 于对象之间的依赖关系,Castle IOC会自动去连接,因此相比之下它的配置文件 要比Spring.net简单的多.我们主要配置的就是Component和Facility,所有的 组件配置都放在Components节点中,每一个组件以<Component>开始,以 </Comp

Asp.net Mvc Framework 十二 Castle扩展

由于Monorail是.net下MVC的先驱所以 Asp.net MVC理所当然要支持老的Castle用户 在Asp.net MVC扩展包中就提供了对Castle的支持与兼容 虽然这个扩展还有很多BUG与不足,但已从其中窥见Asp.net的扩展性之一斑 扩展的下载地址:http://www.codeplex.com/MVCContrib 其中的\Samples\MvcContrib.Samples.NVelocityViewFactory\就是一个Castle使用NVelocity为脚本的示例

Castle学习笔记----初探IOC容器

Windsor是Castle 的一个IOC容器.它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服务或者发生错误时提供预警的机制. 通常IOC实现的步骤为-->建立容器-->加入组件-->获取组件-->使用组件. 1.建立容器 建立容器也就是IWindsorContainer.接着我门要向容器中注册服务,并告诉容器所注册的服务由那一个类来实现他.通常建立容器我们可以用以下定义来实现: 1IWindsor

Castle学习笔记----将Castle IOC引入项目开发中实现“依赖注入”

通常IOC实现的步骤为-->建立容器-->加入组件-->获取组件-->使用组件.这篇文章还是以这四个环节来阐述. 一.建立容器 这里我拿手上的一个现成项目来做分析,首先我们得建立IOC容器.项目中是建立了一个容器类Container来专门负责IOC容器的搭建及组件的加入.代码如下: 1using System; 2using System.Collections.Generic; 3using System.Text; 4 5using Castle.Windsor; 6using

Castle学习笔记----认识Castle.AvtiveRecord

Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务. ActiveRecord提供的简洁的O/R映射 ActiveRecord是Castle中提供的一个数据访问框架,它在底层封装了NHibernate的操作,使用特性来代替映射文件,它提供的简洁的O/R映射会让你惊叹原来实现持久化数据层是那么简单. 一.首先建立实体类并完对数据库的映射 namespa

Castle学习笔记----使用HQL语句实现复杂查询

在ActiveRecord中实现稍微复杂的一点的查询,我们就不能用使用Find(id),FindAll()这两个静态的方法了,这时就需要使用HQL语句来实现,在平常使用Castle的时候我想大家都注意到在ActiveRecordBase类下,由于只提供了Find(id),FindAll()这样两个静态的查询方法,这两个方法在我们查询中还远远不够,仍然不能解决实际开发中一些复杂的查询,这方面ActiveRecord为我们提供了HQL语言的支持. 一.HQL语句介绍 HQL全名是Hibernate