2013-08-27 2 views
0

DB에서 일부 정보를 수집하는 데 사용하는 웹 서비스가 있습니다. 주로 몇 줄. 그러나, 대신 내 기능으로 돌아갑니다. 나는 나중에 호출 할 수있는 함수를 얻고 싶었습니다. 그러나 몇 가지 중단 점을 넣은 후에는 DB에서 방금 가져온 서비스 함수에서 호출이 반환되면 변수를 저장 한 변수가 내 프로젝트로 보입니다.웹 서비스에서 공용 변수를 가져올 수 있습니까?

분명히 웹 서비스가 실제로 어떻게 작동하는지 확신 할 수 없습니다. 세션 변수를 설정하는 것과 같은 특별한 방법이 있습니까? 당신은 클래스 변수에 저장하는 경우

감사

[WebMethod] 
    public String getDemogs() 
    { 
     return Demogs; 
    } 



    [WebMethod] 
    public void LoadUserSites(string username, string siteUse) 
    { 
     // Declare the SslConnection class variable. 
     SqlConnection sSitesConn = new SqlConnection(Util.ConStrEpcrProd); 
     SqlCommand sSitesCmd = new SqlCommand(); 
     sSitesCmd.Connection = sSitesConn; 
     SqlDataReader objSitesReader; 

     try 
     { 
      sSitesConn.Open(); 

      if (siteUse == "Main") 
      { 
       sSitesCmd.CommandText = "SELECT AgencyName, Demog FROM dbo.UserAdminPermissions WHERE UserName = '" + username + "'"; 

       objSitesReader = sSitesCmd.ExecuteReader(); 

       // Reset the string... 
       Demogs = string.Empty; 
       Agencies = string.Empty; 

       while (objSitesReader.Read()) 
       { 
        Demogs += objSitesReader["Demog"].ToString() + ","; 
        Agencies += "'" + objSitesReader["AgencyName"].ToString() + "',"; 
       } 



       objSitesReader.Close(); 
       objSitesReader.Dispose(); 
      } 


     finally 
     { 
      sSitesConn.Close(); 
      sSitesConn.Dispose(); 
      sSitesCmd.Dispose(); 
     } 
    } 
+0

몇 가지 코드를 보여 주며, 여기에 아무 것도 없이는 도움이 될 수 없습니다. 또한, 어떤 종류의 웹 서비스입니까? asmx? wcf? – Oscar

답변

0

Demogs 통화 사이에 사용할 수 없습니다. 다른 곳에 저장해야합니다 (세션, 어디서나). 서비스를 호출 할 때마다 항상 서비스 클래스의 새 인스턴스를 가져옵니다.

+0

아, 알겠습니다. 그래서 내 웹 서비스에서 세션 [ "demogs"] = demogs 같은 것을 할 수 있습니까? –

+0

하실 수 있습니다. 이것이 당신이 원하는 것이라면. 그리고 getDemoGs에 그 것을 반환하십시오. 그러나, 당신이 정말로 세션이 필요하고 이것이 당신이 원하는 것이라면, 스스로 결정할 필요가 있습니다. 세션을 사용하지 않으려면 물론 첫 번째 (로드) 메소드에서 "쿼리 ID"를 반환 한 다음 두 번째 (get) 메소드에서이 쿼리 ID를 조회 할 수 있습니다. –

관련 문제