![]() |
1
6
HttpContext.Current 得到或 集合 httpContext对象“”。并且httpContext有一个公共构造函数,它接受httpWorkerRequest(abstract,use simpleWorkerRequest),您可以完全伪造httpContext。 我同意其他人的看法,您可以重构代码以删除此依赖项,但在某些情况下,您必须伪造httpContext。当前的内容,在这种情况下,如果您搜索,将显示此问题… |
![]() |
2
5
在我看来,您需要将对httpContext的调用包装在另一个对象中,然后您可以使用ioc在正确的环境中切换到正确的对象。例如,将imappath作为接口,然后实现为httpmappath或consoleappmappath等。 |
![]() |
3
1
在编写使用httpContext.current的单元测试时,我们做了类似的事情。我们有一个名为ihttpContext的接口,它包含了我们从普通httpContext需要的一切。然后,我们没有调用httpContext.current,而是有一个扩展方法(httpContext.current.make())返回这个IHttpContext接口。 在扩展方法中,我们可以决定httpContext.current是否可用,如果不可用,那么我们可以手动构建一个“可测试”对象并返回它。 当然,这扩展到如果你在使用iRequest、iResponse等对象,就必须编写它们,但我认为这是可以预料的。 |
![]() |
4
1
不确定这是否有帮助,但我在为ASP.NET Web应用编写一些单元测试时遇到了类似的问题。在某个API调用中的某个时刻,httpContext.current.xxxxx正在设置一个不在范围内的属性。我发现答案是在单元测试中添加以下属性:
[测试方法()]
|
![]() |
5
0
这些代码是特定于网站的。我不明白为什么它属于商业逻辑。
可能需要重新考虑此代码将排除
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |