2009-10-19 2 views
2

나는 ASP.NET 웹 사이트에서 사용하는 asp.net 웹 서비스를 가지고 있습니다. 원시 Javascript 또는 jQuery에서 데이터를 게시/가져 오기 위해 호출 할 수 있습니다. 권한있는 사용자 만 데이터에 액세스 할 수 있도록 세션과 함께 웹 서비스가 활성화됩니다.서비스 참조 및 세션 유지 보수를 사용하여 WebService 호출

 [WebMethod(EnableSession = true)] 
     public WS_ServiceResponse SetAccountName(string account, string name) 
     { 
      WS_ServiceResponse osr = new WS_ServiceResponse(); 
      WS_ServiceResponse sessionCheck = CheckSession(Session); 
      if (sessionCheck.result == WS_ServiceResponseResult.fail) 
       return sessionCheck; 

      osr.result = WS_ServiceResponseResult.success; 
      osr.data = ""; 
      bool success = AccountController.SetAccountInfo(account, name); 
      if (success) 
      { 
       osr.result = WS_ResponseResult.fail; 
      } 
      return osr; 
     } 

이제는 서비스를 사용하기 위해 데스크톱 클라이언트를 만들어야합니다. 이를 위해 ServiceReference를 추가 할 수 있습니다. 하지만 어떻게 그 서비스와 세션을 유지합니까? 결과를 얻는 중입니다 = webservice를 호출 할 때 실패합니다. 누구든지 Windows Form 응용 프로그램에서 웹 서비스 참조에서 세션을 관리하는 방법을 말할 수 있습니까?

답변

3

CookieContainer을 사용해야합니다. 밖으로 게시 this 체크, 그것은 예제를 보여줍니다. WinForms/WPF 프로젝트에 웹 서비스 참조를 추가하려면 this 게시물이 유용합니다.

+0

많은 링크에 감사드립니다. 그것은 나를 위해 약간의 일을했지만. 먼저 Visual Studio 2008에 직접 "웹 참조 추가"링크가 없습니다. 먼저 "서비스 참조 추가"를 사용했으며이 항목에는 cookiecontainer가 없습니다. 이 게시물이 유용한 것으로 나타났습니다. http://blogs.msdn.com/kaevans/archive/2008/03/18/where-the-heck-is-add-web-reference-in-visual-studio-2008.aspx . 이제 그 일. – max

+0

나는 미래의 독자를 위해 더 완벽하게하기 위해 내 대답에 대한 귀하의 링크를 포함 시켰습니다. –