2

我在使用 unitofwork 模式实现 CodeFirstMembership 提供程序时遇到问题。

当我尝试将 unitofwork 注入自定义 MemberShipProvider 类的构造函数时,总是收到错误:“没有为此对象定义无参数构造函数。”

这是代码:

    public class CodeFirstMembershipProvider : MembershipProvider
    {
        private readonly IUnitOfWork unitOfWork;

        public CodeFirstMembershipProvider(IUnitOfWork unitOfWork)
        {
            this.unitOfWork = unitOfWork;
        }

这是 webconfig 部分:

      <membership defaultProvider="CodeFirstMembershipProvider">
          <providers>
              <add name="CodeFirstMembershipProvider" type="Pacific.WebUI.CustomMembership.CodeFirstMembershipProvider" connectionStringName="DataContext" />
          </providers>
      </membership>

问题是,“不确定”,MemberShipProvider 的默认实现是一个没有参数的构造函数,我不知道如何将我的 unitofwork 类注入到这个提供者类中。

有人可以帮助我吗?

4

1 回答 1

0

是的,我过去曾尝试过这样做,但使用上面的配置选项无法完成。

您可以创建一个在创建成员资格提供程序后设置的属性。

您还可以在代码中创建和设置您的成员资格提供程序,而不是依赖配置来创建和构建您的提供程序。

于 2012-04-26T17:32:34.570 回答