Microsoft MVP성태의 닷넷 이야기
WCF 세션과 스트리밍 동시사용에 관해. [링크 복사], [링크+제목 복사],
조회: 16902
글쓴 사람
박재율
홈페이지
첨부 파일
 

안녕하세요, 사이트에서 많은 도움 받고 있습니다~^^

현재, NetTcp 를 사용해서 세션을 이용한 통신을 구축하였습니다.

로그인시에 인증여부를 확인하여, 세션내에 isAuthenticated = true 로 놓고서

다른 요청이 있을시에 인증되었으면 추가적인 인증작업을 하지 않도록 했습니다.
(인증은 DB에 쿼리를 날려서 확인합니다.)

그런데 DB에서 조회결과가 많아지는 경우가 있어서 스트리밍을 사용해보려고 하는데,

[ServiceContract(SessionMode = SessionMode.Required)]

때문에 수행이 안되네요.

구글해보니까 NetTcp 일지라도 세션과 스트리밍을 동시에 사용하는것은 안된다.

였는데요.

그래서 세션을 없애려고 하니까..

이게 요청이 올때마다 매번 인증 여부를 위해 DB에 갔다와서 확인한다음 요청을 처리하니까

인증확인 쿼리가 수도없이 날아가게 되네요.

이런 경우에 어떤 대안이 있을까 해서 질문드립니다.

- 정녕 NetTcp와 세션과 스트리밍은 같이 사용할 수 없는가? (비동기 호출은 없습니다.)
- 안된다면, 인증을 어떤식으로 구현하는것이 효과적인가? (한번만 했으면 좋겠어요. 세션처럼..ㅠ)

고견을 부탁드립니다(_ _)

ps. 사용 프레임웍은 3.5입니다~
ps. 분당 200회 정도의 요청이 있습니다~ 초당 3,4회 정도 되겠네요.








[최초 등록일: ]
[최종 수정일: 12/28/2012]


비밀번호

댓글 작성자
 



2012-12-28 10시03분
웹 애플리케이션을 연상해 보면 어떨까요? 웹 애플리케이션도 사용자가 요청할 때마다 매번 DB를 통해 인증하지는 않습니다. 인증 사실을 쿠키에다 암호화해서 넣어두고 상대방으로 하여금 그 쿠키를 매번 보내도록 합니다. 그럼 서버에서는 복호화를 해서 정상적인 인증 사실 여부가 되면 굳이 DB 조회를 할 필요가 없는 것입니다.

WCF에서도 최초 한번 인증하는 호출만을 클라이언트에서 하도록 코드를 넣어두고, 서버에서는 인증에 대한 정보를 암호화해서 클라이언트에 전송합니다. 이후로는 그 정보를 WCF Message 의 Header에 넣어두고 메소드 호출을 하면 됩니다.
정성태

... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
406이진형6/21/200613734처음에 스마트클라이언트 로딩하는 속도 [1]
4036/20/200612582Invoke 관련 문의 드립니다. [2]
4086/22/200611477    답변글 invoke 관련하여...
401김용국6/19/200612386SmartClient에서 동적 어셈블리 관련 문의 드립니다 [1]
402김용국6/20/200611628    답변글 [답변]: SmartClient에서 동적 어셈블리 관련 문의 드립니다 ... 다시 문의 드립니다! [1]
404김용국6/20/200611744        답변글 [답변]: [답변]: SmartClient에서 동적 어셈블리 관련 문의 드립니다 ... 다시 문의 드립니다! [1]
405김용국6/21/200612250            답변글 잘 되네요~~ ^^ 고맙습니다!
407김용국6/21/200611613                답변글 [답변]: 다시한번 문의드립니다!
398김성호6/17/200612175IE프로그래밍 관련하여 질문이
400정성태6/19/200611809    답변글 [답변]: IE프로그래밍 관련하여 질문이 [5]
396guest6/13/200611712CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
397정성태6/15/200611426    답변글 [답변]: CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
399guest6/19/200611025        답변글 [답변]: [답변]: CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다.
392이상식6/9/200611833스마트클라이언트 실행환경 관련 질문입니다.
394정성태6/12/200611673    답변글 [답변]: 스마트클라이언트 실행 환경 관련 질문입니다.
395이상식6/12/200612049        답변글 [답변]: [답변]: 스마트클라이언트 실행환경 관련 질문입니다.
391심현철6/9/200611945Win32 platform과 .NET platform간의 성능이 어느정도 차이가 날까요?
393정성태6/12/200611593    답변글 [답변]: Win32 platform과 .NET platform간의 성능이 어느정도 차이가 날까요?
390이현행6/6/200611825정말 답답해서 그렇습니다. [1]
389임경훈6/2/200621714sql과 oracle 사용시 파라메타 차이점
387창민 6/1/200613621안녕하세요.문제가 걸렸는데 해결기미가 안보여서 답답해서.. 혹시 아시면 문제 채질이라도...파일 다운로드1
388정성태6/1/200613231    답변글 [답변]: 안녕하세요.문제가 걸렸는데 해결기미가 안보여서 답답해서.. 혹시 아시면 문제 채질이라도...
385오윤섭5/31/200610942SmartClient 동적호출
386정성태6/1/200611336    답변글 [답변]: SmartClient 동적 호출
380윤용한5/29/200611444ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?파일 다운로드1
381윤용한5/29/200611104    답변글 [답변]: ATL Event에서 스크립트가 값을 다시 돌려주는 방법은?
... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...