gpt4 book ai didi

asp.net-mvc - Unity 依赖注入(inject) - 如何在 .config 中注册实例?

转载 作者:行者123 更新时间:2023-12-01 12:01:40 25 4
gpt4 key购买 nike

这是一个 C# Asp.net MVC 项目。

我目前已经在 global.asax.cs 中设置了 Unity 映射。我想将容器设置从代码移动到 web.config。

我自己的类型一切正常,但现在我需要翻译这一行:

container.RegisterInstance(System.Web.Security.Membership.Provider);

(所有其他配置行都是 container.RegisterType)。

我根本没走多远。如果我什至包括

<typeAliases>
<!-- others elided -->
<typeAlias
alias="MembershipProvider"
type="System.Web.Security.MembershipProvider, System.Web"></typeAlias>

它死于配置错误:

The value of the property 'type' cannot be parsed. The error is: Could not load file or assembly 'System.Web' or one of its dependencies. The system cannot find the file specified.

所以这很奇怪 - 它似乎没有寻求 GAC 来解决它?或者 System.Web 还不在 appdomain 中?

如果我手动将 System.Web 复制到 bin 文件夹,我可以继续,并找到问题的症结:你如何 RegisterInstance System.Web.Security.MembershipProvider --> System.Web.Security.Membership.Provider ?

<type type="MembershipProvider" mapTo="System.Web.Security.Membership.Provider, System.Web"></type>

给出:

无法从程序集“System.Web”加载类型“System.Web.Security.Membership.Provider”。

正如预期的那样,因为它不是一个类型。

感谢您的指点。

最佳答案

您是否尝试过更长的 Assembliy 引用资料?

System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

所以在你的情况下你会有这样一行

<type type="MembershipProvider" mapTo="System.Web.Security.MembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"></type>

另外值得一提的是,您有一个 .在第二个示例中的“MembershipProvider”中间。

关于asp.net-mvc - Unity 依赖注入(inject) - 如何在 .config 中注册实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/767737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com