Microsoft MVP성태의 닷넷 이야기
스마트 클라이언트에서 웹서비스를 호출하고 있습니다. [링크 복사], [링크+제목 복사],
조회: 9238
글쓴 사람
김인학 (saintdino at hanmail.net)
홈페이지
첨부 파일
 

로그인 할때 웹서비스의 세션을 유지 하기 위해 CookieContainer를 이용하여 세션에 대한 정보를
담아두고있습니다.그리고 해당 CookieContainer는 Session변수에 담아두어 사용을 하고 있고요
웹폼에서는
Webservice.CookieContainer = (System.Net.CookieContainer)Session["Container"];
Webservice.Insert_User();
이런식으로 사용하여 세션을 잘 유지 시킬 수 있었습니다.

그런데 이번에 부분적으로 스마트 클라이언트를 도입하면서 Session변수를 선언하지 못하는 난관에 봉착해버리고 말았습니다. 그래서 스마트 클라이언트에 get과set을 가진 CookieContainer 속성을 하나 선언하여 파라미터로 받으려 했지만 못받아오는것인지 새로운 세션이 생겨 기존의 세션에 선언된 세션 변수들을 가져 올 수 없었습니다.
System.Net.CookieContainer _CookieValue = new CookieContainer();

        public System.Net.CookieContainer CookieValue
        {
            get
            {
                return _CookieValue;
            }
            set
            {
                _CookieValue = value;
            }
        }

값을 넘겨줄때는

        <script language="javascript">
        function SmartClientOpen(response)
        {
            var vals = response.value
            Form1.winformtest.CookieValue1 = vals;
        }
        </script>
-----------------------------------------------------
            if (!IsPostBack)
            {
                
                string Call = "<script>SmartClientOpen(\"{0}\");</script>";
                Call = String.Format(Call, (System.Net.CookieContainer) Session["SessionState"]);

                RegisterStartupScript("SmartClientOpen",Call);
            }
------------------------------------------------------
이런식으로 사용해보았습니다.
다음과 같이 파라미터 값으로로도 넘겨 보았습니다.

        function SmartClientOpen(response)
        {
            var vals = response.value
            window.document.src = "Sub_ClassCode.aspx?id="+vals;
        }
        </script>

<PARAM NAME="CookieValue" VALUE='<%=Request.QueryString["CookieValue"]%>

오늘 또 시도해본것은 코드비하인드의 서버 이벤트에서
"Sub_ClassCode.aspx?id="+(System.Net.CookieContainer)Session["SessionState"];
이런식으로 페이지를 부를때 세션값을 넘기고
<OBJECT id="winformtest" style="WIDTH: 793px; HEIGHT: 465px" classid="../DLL/ECO.PL.CatalogingManager.dll#ECO.PL.CatalogingManager.UserControlTest" VIEWASTEXT><PARAM NAME="CookieValue" VALUE="<%=Request.QueryString["id"]%>"></OBJECT>
이런식으로 받도록 해보기도 하였습니다.

강좌 두번째 것의 세션을 유지하는 방법을 보았더니 윈폼과 IE의 세션을 같게 해주는 것이 던데요
웹서비스와 IE의 세션이 틀리기 때문에 둘의 세션을 같게 해주어도 소용이 없을 것 같습니다.

제가 부족한 탓이 겠지만 어떠한 방법도 웹서비스를 콜했을 때 로그인하면서 셋팅된 사용자 정보가 단김 세션 정보를 가져오지 못하더라구요 혹시 해결 방법을 아시는분께 정말 부탁드립니다 ㅠㅠ









[최초 등록일: ]
[최종 수정일: 6/29/2006]


비밀번호

댓글 작성자
 



2006-06-29 09시25분
구체적으로 어떤 사유인지 잘 모르겠군요.
그러니까, 웹 페이지에 사용되고 있는 쿠키값을 스마트 클라이언트에도 전달하고 싶다는 것인가요?

일단, Microsoft 의 WinINET API 는 일관된 쿠키 정책을 가지고 있습니다.
따라서, 권한이 적절하게만 있다면 그냥 InternetGetCookie Win32 API 를 직접 호출하시는 것도 하나의 방법입니다.
그 외에는 명시적으로 넘겨주든가... 하는 방법을 택해야 겠고요.
kevin25

1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5781List맨1/5/20234142List.Add("newobj") 속도는 빠른 편인지요? [11]
5780임세1/3/20234703C# 프로그래밍 10 책 구매한 사람입니다. 3부 자료는 어디서 다운 받을 수 있나요? [4]
5779이건우1/2/20233584안녕하십니까 루프안에서 메세지처리에 관하여 질문드립니다! [2]
5778이건우12/30/20224909안녕하세요 c#에서 dll참조 관련 질문드립니다. [4]
5777감사합니...12/29/20223890UI Thread에 Invoke 처리관련 궁금합니다. [3]
5776pdf맨12/28/20223650C# MouseUp Event + pdf [10]
5775민성12/28/20223437안녕하세요 Class 관련해서 예외처리를 하나로 받아낼수 있는 방법 [1]
5774중급12/27/20224250중급개발자란 어느 수준인지요? [4]
5773김영식12/26/20223737c# 압축파일 읽어 올 때 BinaryRead 한글 처리 문제 [1]
5772눈송이12/26/20223917Excel VSTO 는 왜 Net Core, Net 5, 6 버전을 사용하지 않나요? [2]
5771김훈12/26/20224011c# .net client application 망분리(내부망,외부망) 환경에서 의문의 외부사이트 호출 대기 [2]
5770lsh12/26/20223641클라우디움안에 있는 파일을 File.Copy 하고싶은데 코드로는 접근을 못하나요? [1]
5769울타리12/20/20223680Active Directory 2012R2 2016 또는 2019 마이그렝션 문의 드립니다. [1]
5768c++12/14/20224474Thread를 사용한 C++ DLL에 관련된 질문입니다. [6]파일 다운로드2
5767민성12/9/20223800안녕하세요 ashx로 화일을 저장하고 화일명을 리턴하는데요 [1]
5766김명훈12/9/20223926웹브라우저에서 묻지 않고 바로 다운로드 [2]
5765hong12/1/20224191Winform(.Net6) 클라이언트에서 SignalR Core 웹서버에 접속시 인증서 문제 [3]파일 다운로드1
5764요한11/30/20224366c++ 동일한 객체인지 비교 방법문의 [2]
5763고필석11/30/20223869시작하자마자 비정상 종료하는 프로세스에 대한 문제 해결 조언 요청 드립니다. [3]
5762흰털너부리11/30/20223854wpf mvvm ui update 로딩중 표시 [1]
5761민성11/29/20223772죄송하지만 한가지만 더 여쭈어 보겠습니다 [1]
5760민성11/29/20223679안녕하세요 [2]
5759문정환11/28/20223985c# socket 통신할때 빅엔디언으로 바꿔줘야 하나요? [1]
5758라떼11/28/20225286Linux 에서 winform UI 어플리케이션 실행하기 [3]
5757흰털너부리11/25/20224125asp.net core EF AddDbContext,AddDbContextFactory 차이점 알려주세요 [1]
5756흰털너부리11/25/20223762asp.net core web api에서 json 특정 property 무시하는 방법 문의 드립니다. System.Text.Json 사용중입니다. [1]
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...