本帖最后由 cheng_feng001 于 2011-08-12 11:35:53 编辑

解决方案 »

  1.   

    日志处理log4net 一并使用控制日志
      

  2.   

    使用一个帮助对象来做 
     public void setDs(BasicDataSource basicds) {  
         this.ds= basicds;  
     }  
      

  3.   

    答非所问 2 楼又在google上随便搜的?<property name="UserName" expression="T(System.Web.HttpContext,System.Web).Current.User.Identity.Name"/>
      

  4.   

    报错:Cannot initialize property or field node 'Identity' because the specified context is null. 貌似Spring.NET还是在它的Objects配置里面去找对象注入,而不是用System.Web.HttpContext.Current.User.Identity.Name来注入。
      

  5.   

    <objects>
    <object id="" type=", ">
        <property name="UserName" expression="T(System.Web.HttpContext,System.Web).Current.User.Identity.Name"/> 
      </object>  
    </objects>T(类,所在dll).Current.User.Identity.Name
      

  6.   


    如果我把Operator改为object类型,并使用下面的方式确实可以把HttpContext.Current注入进去:
    <property name="UserName" expression="T(System.Web.HttpContext,System.Web).Current"/>但是无法用下面的方式注入登录用户名
    <property name="UserName" expression="T(System.Web.HttpContext,System.Web).Current.User.Identity.Name"/>
    报4楼贴出来的错。进一步,我发现HttpContext.Current.User注入进去也是null,我想应该是Spring.NET在注入时,HttpContext.Current.User还没有值的原因。这就牵出另一个问题了,Spring.NET的注入时机是否可以更改,不是在启动应用程序时注入,而改为使用对象时再注入?
      

  7.   

    抱歉 这几天没上网,如果为null就是你说的那个问题,注入的时候user还没值。具我现在了解注入不能选择时间,不过你可以通过 <object id='MyClass, ....> 中的ID调用函数实例化,这个就是变相的选择时间。 不知表述清楚没