مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

Mr-Mohammad

عضویت از 1393/03/20

شبکه کردن برنامه

  • جمعه 28 شهریور 1393
  • 00:35
تشکر میکنم

سلام دوستان

 

من یک نرم افزار رو کاملا طراحی کردم چطوری باید این نرم افزار رو به صورت کاملا اصولی و صحیح تحت شبکه کنم

ایا کد نویسی خواصی داره ؟

میشه کلا برام توضیح بدین !

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

Mr-Mohammad

عضویت از 1393/03/20

  • جمعه 28 شهریور 1393
  • 16:17

من فقظ میخوام که کاربران دسترسی به بانک اطلاعاتی داشته باشن مثلا بتونن ثبت کنن و ....

یعنی برنامه روی هر سیستم کلاینت نصب بشه و از طریق شبکه وارد یک سیستم سرور بشن و دسترسی به بانک پیدا کنن

 

ولی حالا نمیدونم چطوری باید این کار ها رو با هم هماهنگ کرد

 

مثلا در هنگام ثبت تداخل بین هر یوزر پیش نیاد .

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 28 شهریور 1393
  • 16:24

میتونی توی کانکشن قسمت Data Source آی پی سیستم سرور رو بزنی

کلاینت ها به بانک سرور وصل خواهند شد

کاربر سایت

Mr-Mohammad

عضویت از 1393/03/20

  • جمعه 28 شهریور 1393
  • 16:46

اقا ایمان اگر همزمانی رخ داد چی میشه ؟

 

یعنی هم زمان دو کاربر روی یک تیبل و یک فیلد عملیاتی انجام دهند

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 28 شهریور 1393
  • 16:47

اس کیو ال Engin خیلی قوی و هوشمندی داره

خیلی درصد همزمانی پایین هست

کاربر سایت

Mr-Mohammad

عضویت از 1393/03/20

  • جمعه 28 شهریور 1393
  • 19:28

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

 

کاربر سایت

پوریا غلامی

عضویت از 1393/05/25

  • جمعه 28 شهریور 1393
  • 21:23

مشکل اول شبکه کردن:

شما ابتدا باید دیتابیس رو روی sql server سیستمی که قراره همه به اون وصل بشن راه اندازی می کنی 

برای مثال ip اون سیستم هسن 192.168.1.10  

حالا کافیه تمام  کانکشن استرینگ نرم افزار قسمت data source=192.168.1.10    مقدار دهی شه  

یه مثال کانکشن استرینگ :

data source=192.168.1.10;initial catalog=DBName;integrated security=false;

در اینصورت همه به یه دیتابیس وصل می شن.

مشکل دوم همزمانی:

یه فیلد واسه هر جدول می زاری  به نام ورژن هر بار ویرایش میشه  ورژنش رو افزایش بده 

بعد هر کاربر اگر خواست داده ای رو ویرایش کنه ابتدا ورژن رو چک می کنی ببینی قبلش کسی اینو ویرایش نکرده.

Entity Framework  دو تا راه حل واسه این مورد گذاشته 

1. RowVersion

2.Concurency

می تونی در موردش تحقیق کنی

کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • یکشنبه 30 شهریور 1393
  • 15:24

سلام

بحث Concurency  يا همان همزماني هرچند موضوع مهميه اما حتي در پروژه‌هاي بسيار بزرگي كه حدود دو سه هزار تا كاربر همزمان وصل مي‌شن هم پيش نمياد مخصوصا در SQL‌و Oracle پس نيازي به ورژن زدن نيست! چون اصلا بحث همزماني خودش مقدمه اي دارد كه اگر ان را به طور دقيق مطالعه كنيد متوجه مي شيد كه احتمال همزماني خيلي خيلي پايينه و اصلا نيازي نيست كه كارايي و سرعت را فداي فرآيند عدم همزماني كنيم!

کاربر سایت

پوریا غلامی

عضویت از 1393/05/25

  • یکشنبه 30 شهریور 1393
  • 22:23

با تشکر از جناب قاسمی 

با توجه به پروژه ای که درموردش بحث شد(به احتمال زیاد پروژه ی کوچکی هست)

این روش رو پیشنهاد کردم

ما در مورد سیستم ثبت احوال صحبت نکردیم ، در خیلی از موارد ورژن و concurrency جواب میده

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)