PDA

View Full Version : مشکل در طراحی 3 لایه



Leon_pro
شنبه 20 مهر 1387, 19:19 عصر
من برای طراحی سه لایه قبلا از یک پروژه واحد استفاده میکردم و تمام قسمت های (DAL و ...) را درون همون پروژه پیاده سازی می کردم.
اما ، اما حالا که می خوام این قسمت هارو تفکیک کنم و به طور مثال DAL و UI رو جدا کنم به این مشکل بر میخورم که برای پابلیش کردن نرم افزار قابلیت دسترسی به فایل app.config در لایه DAL رو ندارم و اگه بخواهم پروژم رو روی یه شبکه نصب کنم نمیتونم ConnectionString لایه DAL رو تغییر بدم به منظور تنظیم آدرس Server و ...
عکسsolution Explorer رو هم گذاشتم.
راه حل چیه ؟
برای پابلیش کردن یه همچین پروژه ای که از چند تا پروژه تشکیل شده چه باید کرد؟

Leon_pro
شنبه 20 مهر 1387, 22:55 عصر
من چطور میتونم از لایه های بالایی به لایه های پایینی دسترسی پیدا کنم و به طور مثال تنظیمات اون ها رو تغییر بدهم؟؟؟؟؟؟

سار
یک شنبه 21 مهر 1387, 09:35 صبح
تغییر تنظیمات یعنی چی؟

Leon_pro
یک شنبه 21 مهر 1387, 09:50 صبح
در لایه DAL جهت کانکت شدن به SQL SERVER نیاز به Connection String هستش که اگه قرار باشه این برنامه روی یه شبکه LAN نصب بشه باید بشه این Connection String رو که در فایل app.config قرار داره بر اساس شرایط تغییر داد و به طور مثال آدرس Server رو در اون درست کرد که من نمی دونم از چه روشی می شه استفاده کرد و یا این که من در طراحیم اشتباه میکنم.؟؟

تو پست اول توضیحات کاملی دادم حتی عکسSolution Explorer رو هم گذاشتم.

jaza_sa
یک شنبه 21 مهر 1387, 09:59 صبح
فایل app.config باید کنار فایل exe باشه ، یعنی در پروژه پایینی.

Leon_pro
یک شنبه 21 مهر 1387, 10:06 صبح
اطمینان داری که این جوری مشکل حل میشه ، نرم بعدا به مشکل بر بخورم چون فک میکنم فایل کانفیگ پروژه DAL با فایل کانفیگ UI تفاوت داشته باشه و اصولا dll ای که از DAL ساخته میشه و به UI اضافه میشه به جای دیگری برای پیدا کردن فایل کانفیگ خود ارجاع می کند.؟؟؟

jaza_sa
یک شنبه 21 مهر 1387, 10:58 صبح
تمامی تنظیمات شما ، مثل Connection String که در این سوال مطرح کردید ، باید در یک فایل app.config در کنار فایل exe قرار داشته باشه
زمانی فایل DAL.DLL مورد استفاده قرار میگیره که به یک پروژه دیگه اضافه شده باشه و در حقیقت قسمتی از یک فایل اجرایی شده باشه و یک فایل app.config در کنار یک dll به خودی خود معنایی نداره
در نتیجه : فایل app.config باید کنار فایل اجرایی یعنی در پروژه اصلی قرار داشته باشه و تنظیمات مورد نظر داخل اون انجام شه و فایل های dll ی که نیاز به به app.config داشته باشند از همون فایل استفاده میکنند