public static IEnumerable<Student> GetStudents()
{
List<Student> students = (List<Student>)HttpContext.Current.Cache.Get("GetAllStudentWithImg");
if (students!= null)
{
return students ;
}
students = new List<Student>();
using (PrincipalContext context = GetPrincipalContext())
{
using (UserPrincipal uprinc = new UserPrincipal(context))
{
using (PrincipalSearcher psearcher = new PrincipalSearcher(uprinc))
{
students = psearcher.FindAll()
.Select(x => new Student((DirectoryEntry)x.GetUnderlyingObject()))
.ToList();
}
}
}
HttpContext.Current.Cache.Add("GetAllStudentWithImg", students, null,
DateTime.UtcNow.AddMinutes(60),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
return students;
}
私のデータベースから値を取得するためにこの関数を作成しましたが、それは動作しますが、ゆっくりと読み込まれます。画像はそれほど大きくないので、コンテンツではありません誰かが自分のコードを改善するのを手助けしたいですか?私のデータベースからより速く値をロードする方法
私はあなたがデータベースに照会コードが表示されますが、私は、問題はここにあると思われていない、すべてのコードが表示されない
提案、基本データと画像関連データを読み込むための呼び出しが2つあります。 –
*データベースから読み込んでいない* - このコードは検索中です** Active Directory ** .....質問は***なぜ***あなたは基本的なオブジェクトを取得する必要がありますか?それはかなり高価な呼び出しです - あなたはその呼び出しなしで行うことができますか? –
@marc_s Active Directory ...どこですか? – lal