小编Jer*_*oen的帖子

在asp.net mvc 3中管理每个会话的AutoFac生命周期范围和请求

我想在Web应用程序中使用AutoFac.我有根容器,每个会话一个子容器和每个请求的子容器.我正在试图找出管理这些生命周期范围的最佳方法.在Global.asax.cs中,我添加了以下内容:

protected void Application_Start(object sender, EventArgs e)
{
    var container = ...;
}

protected void Session_Start(object sender, EventArgs e)
{
    var sessionScope = container.BeginLifetimeScope("session");

    Session["Autofac_LifetimeScope"] = sessionScope;
}

protected void Application_BeginRequest(object sender, EventArgs e)
{
    var sessionScope = (ILifetimeScope) Session["Autofac_LifetimeScope"];
    var requestScope = sessionScope.BeginLifetimeScope("httpRequest");

    HttpContext.Current.Items["Autofac_LifetimeScope"] = requestScope;
}

protected void Application_EndRequest(object sender, EventArgs e)
{
    var requestScope = (ILifetimeScope)HttpContext.Current.Items["Autofac_LifetimeScope"];
    requestScope.Dispose();
}

protected void Session_End(object sender, EventArgs e)
{
    var sessionScope = (ILifetimeScope)Session["Autofac_LifetimeScope"];

    sessionScope.Dispose();
}

protected void Application_End(object sender, EventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# autofac asp.net-mvc-3

5
推荐指数
1
解决办法
1万
查看次数

通过单元测试有什么意义?

假设我正在开发一种方法,我可以传入两个数字并获得最高数字.由于我正在做这种TDD风格,我将进行十几次单元测试并提出以下实现:

public int GetHighestNumber(int x, int y)
{
    if (x > y) return x;
    else return y;
}
Run Code Online (Sandbox Code Playgroud)

这非常有效.

测试已用于创建实现.实施完成后,保持这些单元测试有什么意义?这就像在房子交付后将脚手架放在房子周围.

我不是在寻找单元测试的原因,或者是否/何时使用TDD.我只是好奇为什么在代码完全实现后应该保留单元测试,而不是将这些测试作为临时手段,并在不需要支持开发人员时删除.


编辑

在对CodeGnome发表评论后,我意识到我应该强调这只是关于TDD测试,这些测试主要是为了让开发人员指向正确的方向.脚手架可以这么说.

我很欣赏所有的评论.


阅读完所有消息后,我可以得出两件事:

  1. stackoverflow上没有人真正读取原始问题
  2. 你应该保留那些单元测试,不是因为测试本身有任何用处,而是因为你可能正在与高度无能的同事一起工作,这些测试可以防止他们做出令人难以置信的愚蠢的事情

tdd unit-testing

2
推荐指数
2
解决办法
221
查看次数

标签 统计

asp.net-mvc-3 ×1

autofac ×1

c# ×1

tdd ×1

unit-testing ×1