PDA

View Full Version : استفاده مجدد از اطلاعات واکشی شده وکاهش درخواست ها



sara_aryanfar
یک شنبه 13 فروردین 1391, 04:56 صبح
با سلام من یک ریپرتر در صفحه دارم و یک دیتاسورس البته اینها رو به صورت ویزارد بایند نکردم حالا در بخش کد نویسی سمت سرور با این دیتا رو واکشی می کنم برای ریپرتر
SqlDataSource1.SelectCommand = "select * from tag where tag_postnum=@tagid";
SqlDataSource1.SelectParameters.Add("tagid",""+id);
Repeater1.DataBind();
حالا سوال من اینه که من اگر بخواهم رکوردهای واکشی شده رو در سمت سرور دوباره بدست بیارم چطوری می تونم البته بدون اتصال مجدد به دیتابیس آیا Repeater1.DataBind() می تونه چنین امکانی رو فراهم کنه؟

dorparasti
یک شنبه 13 فروردین 1391, 19:43 عصر
خیر ، چون فراخوانی این تابع در واقع همون فراخوانی مجدد از دیتابیس هستش . ( یه کم شک دارم )
می تونید از cache ( اطلاعات عمومی ) یا session ( شخصی ) استفاده کنید

C#.net
یک شنبه 13 فروردین 1391, 19:54 عصر
EnableCaching , CacheDuration



<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataSet"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
EnableCaching="True"
CacheDuration="20"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
</asp:SqlDataSource>



http://msdn.microsoft.com/en-us/library/z56y8ksb.aspx

sara_aryanfar
یک شنبه 13 فروردین 1391, 21:51 عصر
خب الان من از کد بال که قرار دادم برای واکشی تگ های صفحه استفاده می کنم می خوام همین کلمات رو هم در سمت سرور به متاتگ کلمات کلیدی نصبت بدم چطوری میشه انجام داد یعنی محتوای کش همین دیتا سورس رو گذاشت به عنوان کلمات کلیدی

C#.net
یک شنبه 13 فروردین 1391, 22:38 عصر
درست متوجه نشدم، منظورتون اینه؟


sqlDataSource1.EnableCaching = true;
sqlDataSource1.CacheDuration = 20;

sara_aryanfar
یک شنبه 13 فروردین 1391, 23:50 عصر
نه ببینید ما الن دیتا رو واکشی کردیم و یه بار استفاده کردیم و طبق کد شما در کش هم موجود هست خب حالا چطوری می تونیم این رکوردها رو دوباره به دست بیاریم برای استفاده

C#.net
دوشنبه 14 فروردین 1391, 00:41 صبح
این یه میکانیزم درونی هست و شما به اطلاعات کش شده دسترسی نخواهید داشت.
هر دفعه که شما می خواهید اطلاعات رو از دیتاسورس بخونید(وقتی به چیزی بایند می شه) در صورت وجود داشتن اطلاعات در کش دیگه سراغ دیتابیس نمیره. می تونید با خیال راحت ازش استفاده کنید و درگیره جزئیات پیاده سازیش هم نباشید.