PDA

View Full Version : بهترین راه برای لود اولیه اطلاعات از بانک



مهدی رحیم زاده
چهارشنبه 13 فروردین 1393, 21:39 عصر
با سلام خدمت تمامی دوستان عزیز
یک سوال : ما وقتی که میخواییم موقع لود صفحه یک سری داده ها رو از بانک بخونیم میتونیم از دوتا راه استفاده کنیم
یکی اینکه داده ها رو توی یک متغییر Public سمت سرور و توی Page loading ذخیره کنیم و به صورت <%Parameter Name=%> نمایش بدیم
راه دوم اینکه با جی کوئری و توی Document.ready و با ایجکس داده ها رو از یک وب سرویس فراخوانی کنیم و لود کنیم/
حالا سوال من اینه که کدوم یکی از این روش ها بهتره و یا میتونه عملکرد بهتری داشته باشه و بهینه تر باشه
ممنون میشم نظر دوستان روهم بدونم
با تشکر

Mohammadm
چهارشنبه 13 فروردین 1393, 22:06 عصر
بسته به شرایط هر یک از دو روش مورد استفاده قرار میگیرد اما در صورتیکه تعداد بازدید ودرخواست از صفحه مورد نظر توسط کاربران زیاد باشد بهتر است ابتدا توسط پنل مدیریت داده ها در فایل xml ذخیره گردد و سپس صفحات مورد نظر فایل xml رو دریافت نماید و به کاربر نشان دهد در این صورت تعداد اتصال به دیتابیس کمتر و سرعت بیشتر خواهد شد.

fakhravari
چهارشنبه 13 فروردین 1393, 22:53 عصر
بحث امنیتی جدا
سروری همیشه کند تر سمت کلاینتی

mRizvandi
پنج شنبه 14 فروردین 1393, 00:32 صبح
صفحات ASPX در سمت سرور کامپایل شده و برای مرورگر ارسال میشن. اگر از بحث کشینگ بگذریم، وقتی شما در سمت سرور مقادیر رو ست می کنید، در همون لحظه کامپایل شدن صفحه که داره خروجی HTML رو میسازه، پارامترها رو هم مقداردهی می کنه. حالا بحث اینطوری خواهد شد که این پارامترها چقدر و چه میزانی از پروسس نیاز دارند که باعث کندی تولید خروجی بشه؟
اگر این مقدار، عدد بزرگی باشه، کاربر با یک مکث صفحه رو می بینه، در غیر اینصورت، صفحه به سرعت به همراه همه اجزاش نمایش داده میشه.
حالت دوم که استفاده از جی کوئری هست: صفحه ساخته میشه به سمت کلاینت ارسال میشه، حالا مدت زمان ارسال درخواست و برگشت داده ها و نمایش در سمت کلاینت پیش خواهد آمد.
به نظر من اگر داده ها حجم زیادی ندارند و تاثیری در عملکرد سرعت کامپایل ندارند، بهتره که در سمت سرور قرار بگیره. کشینگ به بهبود این عملکر کمک هم خواهد کرد.

مهدی رحیم زاده
پنج شنبه 14 فروردین 1393, 09:49 صبح
با سلام و تشکر از همه دوستان چند تا سوال برام ایجاد شد :

بحث امنیتی جدا
سروری همیشه کند تر سمت کلاینتی
در مورد بحث امنیت شما چه موضوعی مد نظرتون هست؟ یعنی فک میکنید کدوم روش امن تره و به چه دلیل؟ و چرا سروری کند تر از کلاینت باشه؟ کلاینت هم داده ها رو به سرور ارسال میکنه و همون فرایند انجام میشه ، دلیل دیگه ای داره؟

ابتدا توسط پنل مدیریت داده ها در فایل xml ذخیره گردد و سپس صفحات مورد نظر فایل xml رو دریافت نماید و به کاربر نشان دهد در این صورت تعداد اتصال به دیتابیس کمتر و سرعت بیشتر خواهد شد.
یعنی قبل از لود ، داده ها رو از بانک یک جا بخونیم و توی یک xml ذخیره کنیم؟ فرق این با خوندن داده ها توی Page load چیه؟ اونجا هم داده ها خونده میشه و توی یک متغییر ذخیره میشه. نکته مثب ذخیره توی xml بجای متغییر چیه؟
با تشکر

Mohammadm
پنج شنبه 14 فروردین 1393, 13:08 عصر
شما درست متوجه منظورم نشدید
به ازای هر درخواست از سمت کلاینت شما مجبورید یکبار به دیتابیس متصل بشید حالا فکر کنید اگر تعداد درخواستها در یک زمان زیاد بشه چه فشاری روی سرورتون میاد
شما میتونید داده هارو توی جداول موجود در دیتابیس ذخیره کنید سپس همون داده هارو در یک فایل xml هم ذخیره کنید البته اینکارها در پنل مدیریت انجام میشه
در اینصورت به ازای درخواست صفحه مورد انظر از سمت کلاینت داده های موجود در فایل xml رو بخونید و به کاربر نمایش دهید اینکار باعث اتصالات کمتر به دیتابیس و افزایش سرعت اجرای برنامه خواهد شد
به عنوان مثال ممکنه بخشی از صفحه شما برای نمایش اخرین اخبار باشه که میتونید از همین روش استفاده کنید

در ضمن میتونید از ایجکس یا لودینگ سمت سرور برای نمایش اطلاعات استفاده کنید(به خودتون و پروژتون بستگی داره)