EnterpriseLibrary PolicyInjection 和 Unity 问题 !
请问 EnterpriseLibrary.PolicyInjection 6.0 和 unity 3.0 结合怎么使用按网上的一大堆列子做了都不行!
IPerson per=PolicyInjection.Create<Person, IPerson>();
这句报:The PolicyInjector has not been set for the PolicyInjection static class. Set it invoking the PolicyInjection.SetPolicyInjector method..
unity 的配置代码在另一个文件,PolicyInjection 配置代码在web.config中:
<policyInjection>
<policies>
<add name="testPolicy">
<matchingRules>
<add type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.MatchingRules.MemberNameMatchingRule, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="Member Name Matching Rule">
<matches>
<add match="ShowName" />
</matches>
</add>
<add type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.MatchingRules.TypeMatchingRule, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="Type Matching Rule">
<matches>
<add match="UnitTest.Core.Person" />
</matches>
</add>
</matchingRules>
<handlers>
<add type="UnitTest.Core.PersonCallHandler, UnitTest.Core"
name="PersonCallHandler" />
</handlers>
</add>
</policies>
</policyInjection>
还有 直接在unity 的 container 里面配置 <interception> 是没有任何问题的。
我想分开配置,像上面说的,分开在两个不同的文件里配置,要怎么弄啊,搞了好就都搞不好啊,有没有demo 代码啊! EnterpriseLibrary PolicyInjection Unity --------------------编程问答-------------------- 木有人啊 --------------------编程问答-------------------- 真的没有人啊 --------------------编程问答-------------------- 在web.config中加上下面的配置:
<configuration>
<configSections>
<section name="enterpriseLibrary.ConfigurationSource"
type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common" />
</configSections>
<enterpriseLibrary.ConfigurationSource selectedSource="File-based Configuration Source">
<sources>
<add name="System Configuration Source"
type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common" />
<add name="File-based Configuration Source"
type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common"
filePath="InjectionPolicy.xml" />
</sources>
</enterpriseLibrary.ConfigurationSource>
</configuration>
然后建一个InjectionPolicy.xml文件
--------------------编程问答--------------------
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="policyInjection"
type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.Configuration.PolicyInjectionSettings, Microsoft.Practices.EnterpriseLibrary.PolicyInjection" />
</configSections>
<policyInjection>
<policies>
<add name="testPolicy">
。。。
</add>
</policies>
</policyInjection>
</configuration>
老兄 能否给个demo ? 我按你的这样做了,但还是:
IPerson per=PolicyInjection.Create<Person, IPerson>();
这句报:The PolicyInjector has not been set for the PolicyInjection static class. Set it invoking the PolicyInjection.SetPolicyInjector method..
这个"PolicyInjector " 要怎么样配置才会自动初始化阿
补充:.NET技术 , 分析与设计