ASP.NET Core Middleware ASP.NET Core Middleware 는 모든 요청과 응답을 처리하는 파이프라인이다. 레거시 ASP.NET 과 ASP.NET MVC 에서는 이를 IHttpModule과 IHttpHandler를 통해 구현하여 처리하거나, Global.asax.cs 에서 처리 가능하다.IHttpModule 이 주로 사용되는 경우는 권한 처리 등과 같이 다양하게 사용된다. 모든 요청은 이 IHttpModule을 파이프라인을 통과하게 되고, 응답을 제어할 수 있기 때문이다.이 파이프라인이 오늘에 와서 ASP.NET Core Middleware 에서 그 역할을 대신하게 된다. - 레거시에서 파이프라인 최초 레거시 ASP.NET 은 ‘ASP.NET 파이프라인’은 최초 요청부터 마지막..
IControllerFactory IControllerFactory 는 컨트롤러 객체를 반환하거나 객체 릴리즈 시키는 팩토리 인터페이스이다. ASP.NET MVC 4 까지 지원하지 않았던 DI(Dependency Injection) 기능을 사용하기 위해 이 인터페이스를 구현하여 사용하였다. ASP.NET Core 에서는 객체 주입(Injection) 할 때 한 가지 큰 단점이 있다. 생성자 주입(Constructor Injection) 으로만 DI(Dependency Injection) 기능을 사용할 수 있다. 이 아티클에서는 프로퍼티 인젝션(Property Injection) 이 가능한 Unity Application Block 을 사용하기 위해 IControllerFactory 를 마이그레이션 하는 ..
오류 유형은 아래의 웹서버 로그와 같이 “세션ID 가 생성 되었지만, Response 가 Flushed 되어 저장할 수 없다”.Session state has created a session id, but cannot save it because the response was already flushed이 현상은 다음의 경우의 수를 모두 만족할 경우 발생하게 된다.웹서버(IIS) 가 리사이클링 되고,웹서버에게 첫 요청이 가고,코드에서 Session 속성을 사용하기 전이고,서버 코드에서 Response 를 Flush 하고,웹브라우저가 아닌, 네트워크 라이브러리를 통해 호출을 하고,Global.asax.cs 의 Session_Start 이벤트가 발생할 때 분석을 해보면 (MSDN 에서 ASP.NET Appl..
개요 ASP.NET WebForm 에서 Dependency Injection 을 사용하는 방법을 소개한다. IoC Container 를 이용하여 System.Web.UI.Page 를 상속하는 페이지에서 Injection 을 해야 하는데, 이를 위해 IHttpHandlerFactory 를 사용하는 방법을 소개한다.여기에서는 필자가 꾸준히 만들어 온 Unity Container와 Windsor Castle 을 기반으로 하는 Umc.Core 프레임워크를 사용한다.Umc.Core 프레임워크에는 Unity Auto Registration 기능등이 모두 포함하기 때문에 프로젝트 셋업에 편리하다는 장점도 있다.샘플 프로젝트는 필자의 github 에서 다운로드 받을 수 있다. https://github.com/powe..
세션 저장소 커스터마이징 지금까지 살펴본 바 세션 정보를 memcached를 이용하여 세션 정보를 성능과 관리, 그리고 확장가능성 측면에서 만족할 만한 솔루션이다. 여기에서 좀 더 나아가 쿠키 등을 이용하여 서브 도메인(Sub Domain)의 웹 응용 프로그램에 인증을 하거나 브라우저를 닫고 새로운 브라우저로 재접속 한 경우 기존 세션을 유지할 수 있도록 기능을 개선할 수 도 있다. 과거에는 SSO(Single-Sign-On)을 구현하기 위해 쿠키로 서브 도메인을 인증하는 경우 domain 에 의해 쿠키가 공유가 가능하다는 점을 이용하여 구현하기도 했다. 물론, SSO 솔루션들이 많이 있었지만, 수천 수만명의 사용자가 관리 대상이 아니라면 굳이 비싼 SSO 솔루션을 쓸 필요는 없었다. 세션 저장 방법 커..
필자는 일전에 이와 관련되어 상당한 분량의 포스팅을 올린 적이 있다. 총 5회의 아티클 중 마지막 회를 모두 작성하지는 못했지만, 지금 이 내용이 그 마지막 회의 내용과 어느 정도의 내용과 유사하다고 보면 된다. .NET/ASP.NET - 실전 ASP.NET Session 1 - 쿠키를 이용한 상태관리와 위험성 .NET/ASP.NET - 실전 ASP.NET Session 2 - 상태관리의 종류 .NET/ASP.NET - 실전 ASP.NET Session 3 - 다양한 세션 관리 방법 .NET/ASP.NET - 실전 ASP.NET Session 4 - 세션상태 마이그레이션 그 중, 4회 아티클 ‘[실전 ASP.NET Session [4] - 세션상태 마이그레이션]5’의 내용은 본 아티클의 내용에서 매우 중..
[.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [1] [.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [2] 서버와 클라이언트는 어떤 과정이 반복되나요? ASP.NET 의 서버 모델은 아래의 그럼처럼 반복적인 추가 작업을 하게 됩니다. [그림6] 서버 모델 프로세스 HTML Form 모델은 여러 개의 Form 의 구간을 두어 단지 필요한 데이터만 서버로 전송합니다. 아래 그림처럼 말이죠. [그림7] HTML Form 모델 프로세스 이러한 뷰 스테이트(ViewState) 는 HTTP 파일 업로드가 되듯이 POST 로 서버로 업로드 됩니다. 즉 이 뷰 스테이트(ViewState) 양이 커지게 되면 web.config 에서 요청 데이터 사이즈의 크기를 조..
[.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [1] [.NET/ASP.NET] - ASP.NET 서버 모델의 성능에 대한 고찰 [2] 들어가기 앞서… ASP.NET 을 책을 통해 입문하게 되면, 처음 접하게 되는 것이 바로 서버 컨트롤 입니다. 그리고 MSDN 에서도 서버 컨트롤을 남용하면 웹 사이트의 성능을 저하시킬 수 있다고 말합니다. 이러한 서버 컨트롤을 사용하여 개발하는 방법을 ASP.NET 의 서버 모델이라고 합니다. ASP.NET 의 서버 모델은 웹 개발에 있어서 정말 편리하고 복잡한 처리를 단순화 시킵니다. 우리가 ASP.NET 을 처음 입문하면 포스트백(Postback) 이라는 용어를 듣습니다. 왜 기존의 서밋(Submit) 이라는 용어를 쓰지 않고, 독자적인..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 제목에는 세션상태 마이그레이션 이라고 했지만, 보다 구체적으로 언급하면 세션 공급자를 구현하는 단원입니다. 이전에 보았던 아래의 그림과 같이 ASP.NET 이 제공하는 몇 가지의 세션상태 저장소가 있지만, 상황에 따라서 사용할 수 없는 경우도 생길 수 가 있습니다. .NET Framework 는 3가지의 세션 공급자를..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 ASP.NET 은 다양한 세션 관리 방법을 제공하여 줍니다. 서버의 자원은 제한적이기 때문에 In-of-process 방식이 아닌, Out-of-process 의 세션 관리 방법이 필요하다고 이전 시간에 말한바 있습니다. 이런 이유 이외에도, Worker Process 에 의해 세션이 관리된다면 프로세서가 어떤 오류로..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 이 단원은 ASP.NET 의 어느 책을 보아도 나오는 반드시 나오는 챕터이죠. 그만큼 기본적이고 중요한 부분입니다. 왜냐하면 웹이라는 것은 기본적으로 아무런 상태를 저장할 수 없기 때문입니다. 하지만, ASP.NET 을 이용하면 다양한 방법을 통해 상태를 쉽게 할 수 있고, 쉽게 간과할 수 있는 부분을 다시 한번 되새..
[.NET/ASP.NET] - 실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 [.NET/ASP.NET] - 실전 ASP.NET Session [2] - 상태관리의 종류 [.NET/ASP.NET] - 실전 ASP.NET Session [3] - 다양한 세션 관리 방법 [.NET/ASP.NET] - 실전 ASP.NET Session [4] - 세션상태 마이그레이션 프로그램의 코드를 짜면서 쉽게 간과할 수 있는 상태관리 오류 등을 범하기도 합니다. 때론, 적절한 상태 저장소를 잘못 선택하여 잘못된 코드와 결과를 보는 경우도 있습니다. 이번 아티클은 그런 오류를 범하지 않고, 적절한 상태관리를 할 수 있도록 방법을 제시해 줄 예정입니다. 또한, 3회 포스팅 부터는 그저 별 것 아닌..
- Total
- Today
- Yesterday
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
- TFS
- testing
- c#
- MEF
- TFS 2010
- Silverlight
- github
- ALM
- Windows 8
- 비주얼 스튜디오 2010
- POWERUMC
- Visual Studio 2010
- 엄준일
- 땡초
- Team Foundation Server 2010
- Visual Studio 2008
- Visual Studio 11
- monodevelop
- umc
- ASP.NET
- LINQ
- .NET Framework 4.0
- .NET
- Team Foundation Server
- 팀 파운데이션 서버
- 비주얼 스튜디오
- test
- Managed Extensibility Framework
- Visual Studio
- mono
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |