log4net에 대한 래퍼 라이브러리를 작성하고 있습니다. 이 라이브러리는 쿼리 문자열, 쿠키, 양식 필드 등의 컨텍스트 정보를 캡처 할 수 있어야합니다.콘솔 응용 프로그램에서 인위적으로 HttpContext 개체 채우기
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
콘솔 앱 내의 httpcontext에 의존하는 이유는 무엇입니까? 너 여기서 뭘하려고하는거야? – AndreasKnudsen
애드 레아 (Adreas), 귀하의 우려를 해결하기 위해 제 질문을 편집했습니다. –