调用服务层

时间:2016-01-14 06:28:04

标签: c# asp.net asp.net-mvc dependency-injection session-variables

解决方案有两个项目。

Web(ASP.NET MVC 4 - 严格地是表示层)和

ServiceAccess(ClassLib - 严格用于调用REST API并将结果返回到Web层)

当用户登录时,我们会收到令牌表单REST服务并将其保存到当前会话中。 Session [“UserToken”] =令牌; 所有Rest Service调用都需要进行身份验证,因此Web控制器在会话中使用当前“UserToken”调用ServiceAccess。

public class ProductController : Controller
{

      private IProductServiceAccess ServiceAcc { get { return new ProductServiceAccess( Session["UserToken"] as string); }

      public ActionResult Index()
      {
            IEnumerable<Products> products = ServiceAcc.GetAllProducts(); return View();
      }

}

请注意,目前我们并不关心Controller对ServiceAccess的依赖(不使用单元测试)。

我很担心,在从Class Liberary访问方法时使用当前会话变量是不是很糟糕?层绑定ServiceAccess和Web(基于会话变量令牌)是不是一种糟糕的方法? 在会话中使用当前令牌调用SeviceAccess方法的正确方法是什么?

0 个答案:

没有答案