...绝对没有什么?

什么拼图的一部分不填充 ASP.NET web表单ASP.NET 视 分别?

你可以以某种方式创建一个ASP.NET *基应用程序,它使用的系统。网。抽象,因此它可以用在这两种ASP。网网应用程序?

在这种情况下,他们怎么复合的类系统。网。抽象回到ASP.NET web表单?

你不能新的对象,从空间,所以它不能被用于嘲笑,可以吗?

更新:抱歉不清楚,我知道问题的测试HttpContext和其他建设它ASP。净的对象。但是谢谢你好的解释了。

有帮助吗?

解决方案

空间包含的类型,目的是包裹ASP.NET's核心课程(例如HttpSessionState).

什么,你想知道为什么吗?

许多的这些核心ASP.NET 类都密封或静态,使得它不可能打破依赖它们之间的和你的代码。这意味着你不可以嘲笑这些核心的依赖性,使它更难以测试你ASP.NET 代码。因此,而不是直接操纵HttpResponse直接在代码,你操纵这通过的 HttpResponseWrapper, ,其中,在试验时,可以根或模拟出要控制如何HttpResponse对象的行为。

如果你曾经想过创造这些包装,或者已实施一个或两个他们之前,你知道,有大量的工作,包裹在这名字空间,而我有一个,我很高兴他们没有。

其他提示

它确实是嘲笑。 - HttpContext的是一个密封类,不能(容易地)嘲笑。 HttpContextBase不是密封的,我相信它的方法是虚拟的,从而嘲笑容易多了。

虽然你不能将新机的HttpContextBase(比如,在使用的WebForms),你可以通过一个实例的实例:

var ctx = new HttpContextWrapper(HttpContext.Current);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top