PDA

View Full Version : سوال: نحوه تغییر connection string بعد از تبدیل شدن class library به dll



zimzim
جمعه 25 آذر 1390, 19:55 عصر
با سلام خدمت دوستان
من یک Class Library به پروژه وب سایتم اضافه کرده ام که به عنوان لایه DAL بشه . وقتی تو این لایه یک dataset رو اضافه می کنم connection string اون میره تو فایل app.config . حالا مشکلم اینه که وقتی پروژه رو publish می کنم کل این class libraryتبدیل به یک dll میشه و دیگه نمی تونم مثلا اسم database رو توی connection stringعوض کنم . می خوام بدونم بعد از publish چه جوری می تونم این کارو بکنم ؟

لطفا اگه راه حلی دارید کمکم کنید .
ممنون میشم.

aminghaderi
شنبه 26 آذر 1390, 00:33 صبح
اسم دیتابیس رو که مستقیم در کلاس نمی نویسند؟!
باید از داخل کلاس به رشته اتصال موجود در وبکانفیک اشاره کنید :
در کلاس مربوط به صفحه : MyPage.cs

Cnn.ConnectionString = WebConfigurationManager.ConnectionStrings["YourConnectionName"].ConnectionString;

در وبکانفیگ :


<connectionStrings>
<add name="YourConnectionName" connectionString="Data Source=localhost; Initial Catalog=DB_Name; Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>


موفق باشی.

zimzim
شنبه 26 آذر 1390, 13:21 عصر
وقتي dataset رو به class library اضافه مي كنم به صورت اتوماتيك connection string ميره توفايل app.config . من تو كلاس جايي از connection string استفاده نمي كنم . در واقع نمي دونم چه جوري تو web.config مي تونم از app.config بخونم ؟

aminghaderi
شنبه 26 آذر 1390, 15:35 عصر
مشکل اینجاست که برنامه نویسان دات نت فکر می کنند دات نت فقط ویزارده و کامپوننت آماده است ، از این رو در کارهای سطح بالاتر نسبت به ویزارد ها ، به مشکل می خورند ، این هم یه نمونه از n نمونه که من دیدم هست.
شما اگر به صورت دستی کد نویسی کنید و از شی dataset در ado کمک بگیرید این مشکلات پیش نمی یاد.
و اون موقع مدیرت رشته اتصال هم به دست شما خواهد بود ، بنابراین از کد بالایی که من دادم می تونید کامل استفاده کنید ، لازم به ذکر هست که کد بالا مربوط به یه وبسایتی هست که هم اکنون روی وب هست .
راه حل اولی که من به نظرم می رسه این هست که متد برنامه نویستون رو حد اقل در کار با دیتابیس عوض کنید تا دستون باز تر شود.
راه حل دومی جستجوی عمیق در msdn و internet و در نهایت ارسال سئوال در فروم دات نت هست.
راه حل آخر ، منتظر باشید تا ببینیم دوستان دیگر شاید راه حل آن را بلد باشند.

موفق باشی.

zimzim
شنبه 26 آذر 1390, 22:16 عصر
مشکل اینجاست که برنامه نویسان دات نت فکر می کنند دات نت فقط ویزارده و کامپوننت آماده است ، از این رو در کارهای سطح بالاتر نسبت به ویزارد ها ، به مشکل می خورند ، این هم یه نمونه از n نمونه که من دیدم هست.

دوست عزیز ، بهتره متعصبانه به موضوع نگاه نکنید . من همیشه از ado.net به سبک کدنویسی استفاده می کردم . ولی یک برنامه نویس باید به هر روشی مسلط باشد که در مواقع مختلف وبا توجه به شرایط تصمیم بگیرد که کدام روش مناسب تر است . به هر حال ممنون از راهنماییتون