본문 바로가기

Programming/C#5

[ASP.NET MVC] InputStream의 Position 값 문제.. 2013년 5월 20일 컨트롤러를 통해 라우팅된 값을 받아서 처리할 때 클라이언트 쪽에서 Content-Type 값에 따라 InputStream 값이 비어 있을 때가 있고 정상적으로 올 때도 있어서 이유를 몰라 고민을 하고 있었다. Content-Type이 등록이 되어 있어야 하는건가 싶어서 전혀 쌩뚱맞은 "abcd"를 넣어봤다. 근데 정상적으로 잘 온다. 그럼 Content-Type 값을 잘못 넣어서 그런건 아닌것 같은데.. Request 객체의 변수를 하나하나 뜯어보던 중 .... 아직 나는 Stream을 읽지도 않았는데 Position값이 Stream의 끝에 와 있는 것을 발견했다 이 상태로 읽어 들이면 당연히 빈 값으로 출력이 될텐데... 그래서 억지로 Position 값을 0으로 맞춰줬다. 그랬.. 2013. 5. 20.
[ASP.NET MVC] AsyncController 테스트 ※ 이 포스팅은 지극히 주관적인 생각을 정리한 것이므로 틀린 부분이 있을 수 있습니다. 혹시나 잘못된 지식이나 틀린 부분이 있다면 지적해주세요. 정답이 아니니 참고만 하시고, 더 많은 지식 공유 부탁드립니다. 2013년 4월 22일 지난 번에 Controller 테스트를 해보면서 비동기 컨트롤러에 대한 궁금증이 있었는데 자세히 알아 보기 위해서 AsyncController에 대해 공부해보게 되었다. 그냥 Controller도 요청 마다 인스턴스를 생성하기 때문에 요청에 따른 처리는 비동기인 것 같다는 생각이 들어서 비동기를 위한 컨트롤러와 그냥 컨트롤러의 차이가 무엇일까 혼동이 되었었다. AsyncController는 사용 방식을 잘 몰라서 MSDN을 뒤져가며 찾아보았다. 먼저 AsyncControlle.. 2013. 4. 22.
[ASP.NET MVC] Controller 테스트 ※ 이 포스팅은 지극히 주관적인 생각을 정리한 것이므로 틀린 부분이 있을 수 있습니다. 혹시나 잘못된 지식이나 틀린 부분이 있다면 지적해주세요. 정답이 아니니 참고만 하시고, 더 많은 지식 공유 부탁드립니다. 2013년 4월 16일 컨트롤러가 어떻게 동작하는지 테스트 해보기 위해서 우선 요청할 때 마다 인스턴스가 생성하는지를 테스트 해봤다. 컨트롤러의 생성자가 호출 될 때마다 static으로 선언한 정수 값을 증가시키도록 해봤더니 요청을 할때마다 그 값이 증가된다. 한번 더 확인하기 위해 일반 변수 값을 선언하여 요청을 처리하는 부분에서 증가하도록 해봤더니 같은 요청을 할 때마다 그 값이 초기화된다. 그러므로 컨트롤러 클래스는 요청이 있을때마다 생성되고 소멸되는 객체! 다음으로는 컨트롤러가 생성되는 것이.. 2013. 4. 16.
[C#] Attribute 활용 2013년 4월 15일 C++에서는 없던 생소한 C#의 기능! 이번엔 Attribute! C#으로 짜여진 소스를 보다보면 클래스 위에 "[HTTPGet]"과 같은 형식의 문구를 볼 수가 있다. 나 같은 경우에는 클라이언트로부터 HTTP요청을 받을때 Get으로 받을 경우와 Post로 받을 경우에도 사용하고, MVC에서 라우팅을 위한 액션 이름을 지정해줄 때도 사용했었는데 그냥 따라 쓰기만 하다가 구체적으로 알고 싶어서 찾아봤다. 우선 간단해보이지만 이 형식 자체가 클래스로 되어 있다. 구현부분을 따라가보면 Attribute 클래스를 상속받은 클래스로 구현되어 있는 것을 볼 수 있다. 클래스명에서 Attribute부분을 제외한 부분이 "[]"부분에 들어가게 되는 것! 클래스 내부에 메소드를 구현해서 메소드 .. 2013. 4. 15.