我正在为 log4net 编写一个包装器库。该库应该能够捕获上下文信息,例如查询字符串、cookie、表单字段等。
我从控制台应用程序调用这个包装类,而不是 TDD 类。
有没有办法在控制台应用程序中填充 HttpContext 对象,如下所示?
HttpContext c = new HttpContext(null);
c.Request.QueryString.Keys[1] = "city";
c.Request.QueryString[1] = "Los Angeles";
c.Request.QueryString.Keys[2] = "state";
c.Request.QueryString[2] = "CA";
然后按如下方式检索?
Console.WriteLine(context.Request.QueryString.Keys[1]);
当我尝试上面的代码时,出现以下异常。
Property or indexer 'System.Collections.Specialized.NameObjectCollectionBase.KeysCollection.this[int]' cannot be assigned to -- it is read only
你可以在这里阅读如何使用 Moq 来伪造它:http://o2platform.wordpress.com/2011/04/05/mocking-httpcontext-httprequest-and-httpresponse-for-unittests-using-moq/ http://o2platform.wordpress.com/2011/04/05/mocking-httpcontext-httprequest-and-httpresponse-for-unittests-using-moq/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)