PDA

View Full Version : عدم تشخیص لایه در معماری 3 لایه



jas1387
پنج شنبه 26 فروردین 1389, 18:14 عصر
سلام خدمت دوستان گرامی


وقتی توی لایه DAL کلاس های غیر از کلاس خودش ایجاد می کنم توی لایهBLL نمی تونم از آن کلاس ها استفاده کنم ، چرا ؟

لازم بذکر است که Add Reference را انجام دادم و می تونم از کلاسی که در لایه DAL ابتدا ایجاد می شود استفاده کنم ولی کلاس های که بعدش خودم در DAL اضافه می کنم توی BLL بهشون دسترسی ندارم .

اَرژنگ
پنج شنبه 26 فروردین 1389, 19:40 عصر
سلام خدمت دوستان گرامی


وقتی توی لایه DAL کلاس های غیر از کلاس خودش ایجاد می کنم توی لایهBLL نمی تونم از آن کلاس ها استفاده کنم ، چرا ؟

لازم بذکر است که Add Reference را انجام دادم و می تونم از کلاسی که در لایه DAL ابتدا ایجاد می شود استفاده کنم ولی کلاس های که بعدش خودم در DAL اضافه می کنم توی BLL بهشون دسترسی ندارم .

اگر یوزینگ نیم اسپیسها را هم اضافه کردید و هنوز کار نمیکنه یک ریبیلد کن، اگر بازهم کار نکرد پروژه را بفرست

jas1387
پنج شنبه 26 فروردین 1389, 20:12 عصر
اگر یوزینگ نیم اسپیسها را هم اضافه کردید و هنوز کار نمیکنه یک ریبیلد کن، اگر بازهم کار نکرد پروژه را بفرست

باز کار نکرد.

این هم پروژه http://uploading.com/files/3b532cbm/WFA.rar/

سرور دوم اگه سرور اول جواب نداد http://www.easy-share.com/1909902233/WFA.rar

jas1387
پنج شنبه 26 فروردین 1389, 21:01 عصر
کسی نیست راه حلی برای مشکل من پیدا کنه ؟

اَرژنگ
جمعه 27 فروردین 1389, 04:43 صبح
کسی نیست راه حلی برای مشکل من پیدا کنه ؟
دیدم که در بی‌ال‌ال به دال رفرنس نداده شده بود.
همین، در ضمن اسمه کلاسها را عوض میکردید کلاس Class۱ در بی‌ال‌ال را با کلاس Class۱ در دال کمپایلر اشتباه نمیگرفت.

ضمیمه شد

jas1387
جمعه 27 فروردین 1389, 10:04 صبح
دیدم که در بی‌ال‌ال به دال رفرنس نداده شده بود.

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



همین، در ضمن اسمه کلاسها را عوض میکردید کلاس Class۱ در بی‌ال‌ال را با کلاس Class۱ در دال کمپایلر اشتباه نمیگرفت.


منظور شما این هست که اگه نام کلاس ها یکسان باشد کامپایلر اشتباه می کنید ؟
من نام کلاس ها را تغییر دادم باز کار نکرد ، ممنون می شوم اگر عیب پروژه را برطرف کنید.

اَرژنگ
جمعه 27 فروردین 1389, 10:31 صبح
چرا دوست عزیز اگر بیشتر دقت کنید می بینید که در پوشه Reference مربوط به لایه BLL رفرنسی به نام DAL وجود دارد




منظور شما این هست که اگه نام کلاس ها یکسان باشد کامپایلر اشتباه می کنید ؟
من نام کلاس ها را تغییر دادم باز کار نکرد ، ممنون می شوم اگر عیب پروژه را برطرف کنید.



در پست قبلیم درستش ضمیمه شده بود.

jas1387
جمعه 27 فروردین 1389, 10:54 صبح
سلام

درست نشد
دوست عزیز شما دو کلاس دیگه من ( class2 & class3 ) را در لایه DAL پاک کردین من می خواستم آنها را در BLL استفاده کنم وگرنه class1 که قبلا هم در BLL می شود استفاده کرد

اَرژنگ
جمعه 27 فروردین 1389, 11:30 صبح
سلام

درست نشد
دوست عزیز شما دو کلاس دیگه من ( class2 & class3 ) را در لایه DAL پاک کردین من می خواستم آنها را در BLL استفاده کنم وگرنه class1 که قبلا هم در BLL می شود استفاده کرد

فرق بینه :



public class Class1
{
}

و



class Class2
{
}


چیه؟

jas1387
جمعه 27 فروردین 1389, 11:40 صبح
من یه پروژه بزرگ داشتم که نتونستم اون را روی سرور بزارم برای همین اومدم و یه پروژه خیلی ساده براساس معماری سه لایه پیدا کردم وقتی مشکلم در این پروژه ساده حل بشه من خودم توی پروژه اصلی مشکلم را حل کنم

در ضمن من برای هر جدول ام در دیتابیس یه کلاس در هر کدوم از لایه ها ایجاد کرده ام

مثلا کلاس 1 همان DLCompany است یا کلاس 2 DLCustomer است

اَرژنگ
جمعه 27 فروردین 1389, 11:50 صبح
من یه پروژه بزرگ داشتم که نتونستم اون را روی سرور بزارم برای همین اومدم و یه پروژه خیلی ساده براساس معماری سه لایه پیدا کردم وقتی مشکلم در این پروژه ساده حل بشه من خودم توی پروژه اصلی مشکلم را حل کنم

در ضمن من برای هر جدول ام در دیتابیس یه کلاس در هر کدوم از لایه ها ایجاد کرده ام

مثلا کلاس 1 همان DLCompany است یا کلاس 2 DLCustomer است

چیزی که در پست قبلیم فرستادم را نگرفتید:
یک پابلیک جلویه کلاسی که از اسمبلی دیگر میخواهید دسترسی داشته باشید بزارید، در ضمن یک مثال ساده از پروژه ۳ لایه در همین پست ضمیمه شده.


در ضمن در مورد ۳ لایه نویسی در این توپیک بحث شده بود:
http://barnamenevis.org/forum/showthread.php?t=27351