PDA

View Full Version : مشکل در بارگذاری تنظیمات .vshost.exe.config



aidin2345
دوشنبه 02 اردیبهشت 1398, 00:35 صبح
با سلام
دوستان من برنامه ای نوشتم که کانکشن استرینگ نرم افزار در داخل فایل .
exe.config
کنار فایل اجرایی ذخیره میشه
نرم افزار دارای چندین سال مالی هستش

که فرمی ساختم در ابتدا میپرسه کدوم سال مالی انتخاب بشه (دیتا بیس نرم افزار رو تغییر بدم و وارد یک دیتا بیس دیگه بشه )
کانکشن استرینگ موجود در .vshost.exe.config رو تغییر میده
و وارد نرم افزار میشه


ولی باید یک بار دیگه نرم افزار ریلود بشه تا اون تغییرات اعمال بشه


دوستان کسی اطلاع داره چطور میشه اون اطلاعات فایل .vshost.exe.config رو بدون اینکه از نرم افزار خارج بشه

دوباره ریلود کرد تا از آخرین کانکشن استرینگ ذخیره شده استفاده بشه ؟؟؟؟؟؟؟؟

hamidrezax1
دوشنبه 02 اردیبهشت 1398, 18:27 عصر
سلام دوست عزیز بسته به امنیت برنامه اتون
1-کانکشن رو داخل برنامه اتون تعریف کنید
2-یا داخل یه فایل تکست و به صورت رمز شده کانکشن ها رو تعریف کنید
موفق باشید

aidin2345
سه شنبه 03 اردیبهشت 1398, 23:33 عصر
سلام و ممنون از جوابتون
آقا احتمالا من نتونستم منظورم رو برسونم
مشکل من امنیت و کد گذاری کانکشن و یا نحوه ذخیره کردن کانکشن در داخل نرم افزار یا خارج از نرم افزار نیست

مشکل اینه چون توی تنظیمات اضافه شده - به محض اجرای برنامه با کانکشن پیش فرض برنامه رو اجرا میکنه و کاربر که کانکشن رو تغییر میده - اعمال نمیشه و باید یک بار برنامه بسته شه و اجرا بشه تا تغییرات کانکشن اعمال بشه

و میخواستم ببینم راهی هست که نیاز به خروج و اجرای دوباره نرم افزار نباشه

hamidrezax1
چهارشنبه 04 اردیبهشت 1398, 20:06 عصر
سلام دوست عزیز برای همین عرض کردم.شما نحوه کد نویسی اتون و اتصالتون به دیتابیس چجوری هستش؟
آیا با ویزارد به دیتا بیس متصل میشین؟

Asra98
پنج شنبه 05 اردیبهشت 1398, 01:03 صبح
با نگارش چند vs کار می کنید ؟
لطفا کد ذخیره سازی تنظیمات داخل app.cofig قرار بدید ظارها مشکلی در روش ذخیره سازی دارید ...
کدهای خود رو با مثال ارائه شده در لینک زیر مقایسه کنید البته زبان سی شارپ هست ، اگر مشکل حل نشد بقیه پاسخ های اون لینک تست کنید احتمالا مشکل برطرف بشه .
https://stackoverflow.com/a/28468579/1395101

aidin2345
پنج شنبه 05 اردیبهشت 1398, 19:54 عصر
سلام
بله به طریق کد ویزارد هستش

aidin2345
پنج شنبه 05 اردیبهشت 1398, 20:04 عصر
با نگارش چند vs کار می کنید ؟
لطفا کد ذخیره سازی تنظیمات داخل app.cofig قرار بدید ظارها مشکلی در روش ذخیره سازی دارید ...
کدهای خود رو با مثال ارائه شده در لینک زیر مقایسه کنید البته زبان سی شارپ هست ، اگر مشکل حل نشد بقیه پاسخ های اون لینک تست کنید احتمالا مشکل برطرف بشه .
https://stackoverflow.com/a/28468579/1395101



سلام
با نگارش 2012 کار میکنم
کد هامو داخل app.cofig ذخیره میکنم


مشکل من اینه که موقع لود نرم افزار اون کد ها داخل app.cofig هستش رو خونده
و برنامه رو اجرا کرده
و وقتی من app.cofig رو ذخیره کردم - فایده ای نداره ، چون نرم افزار با تنظیمات قبلی بالا اومده و از app.cofig قبل از تغییرات استفاده میکنه


اون لینک که فرستادین
یه کد زده
ConfigurationManager.RefreshSection("appSettings");


تقریبا یه همچین کدی میخوام که تنظیمات app.cofig رو دوباره از نو لود کنه

Asra98
جمعه 06 اردیبهشت 1398, 03:03 صبح
اون لینک که فرستادین
یه کد زده
ConfigurationManager.RefreshSection("appSettings");
تقریبا یه همچین کدی میخوام که تنظیمات app.cofig رو دوباره از نو لود کنه


بفرمایید که در حالت دیباگ (اجرا در محیط vs) این مشکل رو دارید یا نه وقتی فایل پابلیش شده رو تست می کنید این مشکل رو دارید ؟؟
من یه پروژه سال 92 داشتم که حافظم زیاد یاری نمی کنه ولی یادمه در محیط دیباگ این مشکل بود! که دلیلشم در همون لینکی که فرستادم توضیح داده به دلیل مدیریت خود vs 12 فایل کانفیک اخرین تغییرات رو پشتیبانی نمی کنه ولی در محیط خارج دیباگ فکر میکنم این مشکل حل شده بود چون ما هم یه همچین سناریو داشتیم که به صورت runtime باید تغییرات به app.cofig اعمال میشد ولی دقیق خاطرم نیست که در مشکل با همون لینک ارائه شده حل شد یا نه با ری استارت کل اپ ؟! تست بفرمایید و اعلام نتیجه کنید تا درصورت پایداری مشکل راه حل پیدا بشه .

aidin2345
شنبه 07 اردیبهشت 1398, 01:56 صبح
بفرمایید که در حالت دیباگ (اجرا در محیط vs) این مشکل رو دارید یا نه وقتی فایل پابلیش شده رو تست می کنید این مشکل رو دارید ؟؟
من یه پروژه سال 92 داشتم که حافظم زیاد یاری نمی کنه ولی یادمه در محیط دیباگ این مشکل بود! که دلیلشم در همون لینکی که فرستادم توضیح داده به دلیل مدیریت خود vs 12 فایل کانفیک اخرین تغییرات رو پشتیبانی نمی کنه ولی در محیط خارج دیباگ فکر میکنم این مشکل حل شده بود چون ما هم یه همچین سناریو داشتیم که به صورت runtime باید تغییرات به app.cofig اعمال میشد ولی دقیق خاطرم نیست که در مشکل با همون لینک ارائه شده حل شد یا نه با ری استارت کل اپ ؟! تست بفرمایید و اعلام نتیجه کنید تا درصورت پایداری مشکل راه حل پیدا بشه .

سلام و ممنون از توجهتون

متاسفانه هم توی حالت دیباگ و هم بعد پابلیش باز همون طوره و نیاز داره آپ ریستارت شه

Asra98
یک شنبه 08 اردیبهشت 1398, 00:44 صبح
سلام و ممنون از توجهتون

متاسفانه هم توی حالت دیباگ و هم بعد پابلیش باز همون طوره و نیاز داره آپ ریستارت شه

درباره مجزار کردن بخش های کانفیگ پیج چیزی میدونید ؟
اگه اطلاعاتی ندارید یه سرچ بزنید مسلط میشید .
کاری که در این روش صورت میگیره برای جلوگیری از ری استارت شدن برنامه (با تغییر فایل کانفیک نیاز به ری استارت هست ، دربرنامه های وب اتوماتیک این حالت رخ میده) ،
در این روش بخش مورد نظر در داخل فایل کانفیک به یه فایل دیگه کانفیک اشاره می کنه ،
برای مثال شما می تونید بخش کامکشن استرینک رو داخل یه فایل کافیک جدا بزارید و از داخل app.config اصلی اونو فراخوانی کنید .
من این کار رو سالهاست در وب انجام میدم ولی در اپ ویندوزی تست نگرفتم ولی چون پلتفرم یکی هست بعید داریم اجرا نشه ، به هر حال تستش ضرر نداره ...



<?xml version="1.0" encoding="utf-8"?>

<configuration>
<appSettings configSource="AppSettings.config" />
</configuration>




<?xml version="1.0"?>

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--....-->
</appSettings>

aidin2345
سه شنبه 10 اردیبهشت 1398, 01:39 صبح
سلام
Asra (http://barnamenevis.org/member.php?418048-Asra98)عزیز ، حسابی به زحمتتون انداختم
ممنونم
تست کنم ، خبرش رو بگم خدممتون