PDA

View Full Version : سوال: اجرای برنامه تحت ویندوز از طریق اینترنت



z.rezazadeh
سه شنبه 20 اسفند 1392, 20:01 عصر
با سلام
من یک برنامه تحت ویندوز با .net 2008 و sql 2008 R2 نوشتم با زبان سی شارپ که محل دفترمرکزی در یک شهر است و قسمتی از برنامه از شهرستانها باید اجرا شود که ارتباط شهرستانها با ip valid انجام می شود.و پایگاه داده بر روی سرور در دفتر مرکزی نصب است و هر کلاینت هم نسخه کلاینت را دارد .
ارتباط برقرار شده و برنامه اجرا می شود.
اما با زیاد شدن داده ها ، برنامه در شهرستانها بسیار کند شده و هر fill کردن حدود چند دقیقه طول می کشد
آیا راه حلی برای سریع اجرا شدن برنامه وجود دارد؟

arash21hhhh
سه شنبه 20 اسفند 1392, 20:33 عصر
اصولا این روش همیشه با این مشکلات رو برو میشه و روش امن و سریعی نیست . بهتره قسمت هایی از برنامه تحت وب طراحی بشه .

z.rezazadeh
سه شنبه 20 اسفند 1392, 20:47 عصر
با تشکر
اما با توجه به اتمام و نصب برنامه آیا راه حل دیگه ای وجود نداره؟

plus
سه شنبه 20 اسفند 1392, 21:16 عصر
َشما باید در دریافت داده ها به صورت بهینه عمل کنید.برای مثال، اگه قرار هست 1000 آیتم در یک فرم نمایش داده بشه، باید از صفحه بندی استفاده کنید و هر بار فقط صفحه مورد نظر رو از سرور دریافت کنید نه اینکه در لود فرم کل داده ها رو دریافت کنید.این مورد یکی از موارد رایج کندی هست و البته موارد دیگه ای هم میتونه باعث کندی بشه که باید به طریق مشابه (بهینه سازی ارسال و دریافت داده ها بین سرور و کلاینت) رفع بشه.

behi1ty
چهارشنبه 21 اسفند 1392, 12:43 عصر
سلام
دوست عزيز بهترين روش و استفاده كردي(تحت وب در اين مواقع اصلا كمك نمي كنه)
خوب به چند نكته توجه داشته باش
1-در SQL از INDEX استفاده كني
2-در كوئري هات از SP استفاده كني
3-در SP ها به جاي متغير از جداول TEMP استفاده كني
4-در برنامه حتما از صفحه بندي استفاده كني
5-از پيچوندن اطلاعات جلوگيري كن

من كوچيك شما و ديگر عزيزان هستم اما تجربه اي كه داشتم و خدمت شما عرض كردم
ما در شركت جاهايي كه كاربرا معلوم هستند از ويندوز استفاده مي كنيم چون دردسرش خيلي خيلي كمتره

يا علي

mohammad2407
چهارشنبه 21 اسفند 1392, 14:09 عصر
شما اگر یک سرور مجازی خوب در ایران بگیرین خیلی سرعت بالا تر میره چون پورت سرور قوی تر هست نسبت به پورت سرور شما که در دفتر مرکزی شما هست

shahryari
چهارشنبه 21 اسفند 1392, 18:00 عصر
سلام برای اینجور موارد ضمن تایید حرفای دوست عزیز mohammad2407 (http://barnamenevis.org/member.php?224293-mohammad2407) و این گفته ایشان:


شما اگر یک سرور مجازی خوب در ایران بگیرین خیلی سرعت بالا تر میره چون پورت سرور قوی تر هست نسبت به پورت سرور شما که در دفتر مرکزی شما هست

شما میتونید از بانک روی هاست mysql و دستورات رابط php برای ارتباط با بانک بهره ببرید
و یا اصولی ترش اینه که وب سرویس بنویسی که بسیار سبک کار میکنه

z.rezazadeh
چهارشنبه 21 اسفند 1392, 19:53 عصر
مرسی از همه دوستان
فقط کسی اینجا هست که با local database cashing
و sync کردن کلاینت با سرور کار کرده باشه.

mohammad2407
پنج شنبه 22 اسفند 1392, 01:53 صبح
من الان خودم یک سرور مجازی گرفتم مشکلی هم ندارم به راحتی دارم اطلاعات از هر جایی که بخوام فراخوانی میکنم

ولی به نظر خودم کار درستی نیست برنامه نویسی تحت وب بهتر واصولی تر هست این همه هم دردسر و هزینه نداره

چند روز پیش به این کاری که کردم (اشتراک گذاری دیتابیس) خیلی خندم گرفت الان دنبال این هستم که برم کلا تحت وب از اول بنویسم که این مشکلات نداشته باشم :لبخند:

در اینده شما حتما برو تحت وب برنامه بنویس

z.rezazadeh
جمعه 23 اسفند 1392, 16:10 عصر
با تشکر.
فقط لطف میکنی اگر البته تبلیغ نمیشه بگی از کجا و با چه هزینه ای سرور گرفتی؟
من بسیار عجله دارم

programerinfonet
جمعه 23 اسفند 1392, 16:16 عصر
دوست عزیز دقیقأ کار تو رو من همین الان دارم انجام میدم
سرور اختصاصی حتمأ بگیر
و اما بهترین روش هم تو این کار همون sync کع خودت گفتیه

لینک فیلم آموزش (http://technet.microsoft.com/en-us/sqlserver/dd407782.aspx)