public static HttpContext FakeHttpContext()
{
var httpRequest = new HttpRequest("", "http://stackoverflow/", "");
var stringWriter = new StringWriter();
var httpResponse = new HttpResponse(stringWriter);
var httpContext = new HttpContext(httpRequest, httpResponse);
var sessionContainer = new HttpSessionStateContainer("id", new SessionStateItemCollection(),
new HttpStaticObjectsCollection(), 10, true,
HttpCookieMode.AutoDetect,
SessionStateMode.InProc, false);
httpContext.Items["AspSession"] = typeof(HttpSessionState).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, CallingConventions.Standard,
new[] { typeof(HttpSessionStateContainer) },
null)
.Invoke(new object[] { sessionContainer });
return httpContext;
}
< /code>
Это работает без заголовков, но когда я добавляю любую из этих строк кода между линиями httprequest < /strong> и stringwriter < /strong>. < /p>
httpRequest.Headers.Add("blah", "1234");
httpRequest.Headers["blah"] = "1234";
It throws
An exception of type 'System.PlatformNotSupportedException' occurred
in System.Web.dll but was not handled in user code
Why am I Получите это исключение?
Есть ли возможный способ добавить заголовки в httpcontext [/b] для тестирования контроллеров Webapi ?
У меня есть [b] fakehttpcontext < /strong> Я пытался изменить, чтобы включить некоторые заголовки в целях тестирования < /p>
[code]public static HttpContext FakeHttpContext() { var httpRequest = new HttpRequest("", "http://stackoverflow/", ""); var stringWriter = new StringWriter(); var httpResponse = new HttpResponse(stringWriter); var httpContext = new HttpContext(httpRequest, httpResponse);
var sessionContainer = new HttpSessionStateContainer("id", new SessionStateItemCollection(), new HttpStaticObjectsCollection(), 10, true, HttpCookieMode.AutoDetect, SessionStateMode.InProc, false);
An exception of type 'System.PlatformNotSupportedException' occurred in System.Web.dll but was not handled in user code
[list] [*]Why am I Получите это исключение? [*] Есть ли возможный способ добавить заголовки в httpcontext [/b] для тестирования [b] контроллеров Webapi [/b]? [/list]