代码之家  ›  专栏  ›  技术社区  ›  Graham Conzett

从控制器或服务层调用ASP.NET成员身份类?

  •  5
  • Graham Conzett  · 技术社区  · 17 年前

    我应该从控制器访问ASP.NET成员类并将结果传递给服务层,还是直接从服务层访问它?

    一方面,这看起来像应该在服务层中处理的业务逻辑,但我不想将服务层绑定到Web命名空间,因为这可能会成为一个Windows应用程序。

    3 回复  |  直到 17 年前
        1
  •  6
  •   Joel Martinez    17 年前

    答案是,使用IOC创建服务层使用的成员接口。网站的实现可以使用Web命名空间。Windows应用程序可以有不同的实现。而且,由于您可以注入这种依赖关系,所以您的服务层不必更改:—)

        2
  •  3
  •   Craig Stuntz    17 年前

    ASP.NET成员身份是特定于Web的,因此应该在控制器中访问它。mho是服务层不应该硬连接到Web。因此,要添加/删除用户,请通过控制器执行此操作。

    哦,在服务层,你可以阅读 Thread.CurrentPrincipal.Identity 它不是特定于Web的,但恰好与ASP.NET成员资格完全兼容。因此,如果您只需要获得当前用户,那么您可以在不发出关注分离声的情况下实现这一点。

        3
  •  0
  •   womp    17 年前

    使用System.Web真的有问题吗?这与将其与System.Configuration或System.IO绑定没什么不同。任何应用程序都可以利用它,不管它是否“离线”。

    我经常将我的Web应用程序与更经典的程序集(即“winforms”程序集)绑定,以访问有用的集合对象等。

    推荐文章