我們是否可以防止在應用程序中多次加載以下內容。即除此之外的其他選擇嗎?訪問修飾符 - 只能加載一次
public IEnumerable<User> users()
{
var users = Userlist();
return users.ToList();
}
public static List<User> Userlist()
{
string strSQL = "";
List<User> users = new List<User>();
strSQL = "select USERID,USERNAME,PASSWORD from USERS";
//if (Userlist().Count > 0)
//{
// return Userlist();
//}
//else
//{
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
using (var command = new SqlCommand(strSQL, connection))
{
connection.Open();
using (var dataReader = command.ExecuteReader())
{
while (dataReader.Read())
{
users.Add(new User { Id = Convert.ToInt32(dataReader["USERID"]), user = dataReader["USERNAME"].ToString(), password = Decrypt(dataReader["PASSWORD"].ToString()), estatus = true, RememberMe = true });
}
}
}
}
return users;
// }
}
我只是想解決像評論部分(這並不在這裏工作)。
編輯:我只是想避免不必要的數據庫調用。
在此先感謝!
你將不得不存儲您的列表中的內容在您的應用程序中的某個位置,否則您要檢查的列表將始終爲空。您可以在類中使用靜態字段,因此您的靜態方法將訪問該靜態字段,因此信息僅存儲一次。 – Adwaenyth
''從用戶名中選擇用戶名,用戶名,密碼「'向我的靈魂核心發送寒冷的寒戰;我們(集體程序員社區)沒有學會永遠不會存儲密碼嗎? –
@MarcGravell那麼它可能(我希望)存儲在那裏的鹽漬密碼散列,並且這個列表實際上用於認證用戶。否則是的,它是那些神聖的時刻之一。 – Adwaenyth