突然之间,毫无征兆、莫名其妙地IOC就蹦出了个“已存在具有相同键的条目”的错误。
错误信息

可是配置文件里面明明没有重复的Id呀。经过1小时的排查,发现只要配置文件中的这个
<component
    id="Manager.HospPatientDrsAdvice"
    service="Dawn.HIS.Core.ManagerInterface.Hospitalized.IHospPatientDrsAdviceManager, Dawn.HIS.Core.ManagerInterface"
    type="Dawn.HIS.Core.BusinessManager.Hospitalized.HospPatientDrsAdviceManager, Dawn.HIS.Core.BusinessManager" />
标记注释掉就没问题了。可是这个标记还有用呀,然后发现只要把这个标记移到另一个我新添加的标记
<component
    id="Manager.PatientStateAdv"
    service="Dawn.HIS.Core.ManagerInterface.Hospitalized.IPatientStateAdvManager, Dawn.HIS.Core.ManagerInterface"
    type="Dawn.HIS.Core.BusinessManager.Hospitalized.PatientStateAdvManager, Dawn.HIS.Core.BusinessManager" />
的下面就没问题了。真是奇怪,难道标记的顺序也很重要?
      确实,HospPatientDrsAdviceManager类使用了IPatientStateAdvManager,难道如果必须按照引用顺序来排列标记的顺序?
posted on 2009-04-10 09:21  1-2-3  阅读(1399)  评论(0编辑  收藏  举报