0

我有一个网络服务,用于从数据库收集一些信息。主要是几根弦。但是,不是在我的函数中返回。我想创建一个稍后可以调用的 get 函数。但是,在设置了一些断点之后,一旦调用从刚刚将它们从数据库中拉出的服务函数返回到我的主项目,我存储的变量似乎就变成了 null。

显然我不确定网络服务是如何真正工作的。有没有一种特殊的方法来做到这一点,比如设置一个会话变量?

谢谢

 [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();
        }
    }
4

1 回答 1

0

Demogs如果将其存储在类变量中,则在调用之间不可用。您需要将其存储在其他地方(会话,任何地方)。每次调用服务时,您总是会获得服务类的新实例。

于 2013-08-27T20:53:00.947 回答