PDA

View Full Version : سوال: جدول تنظیمات سایت



سعید کشاورز
چهارشنبه 29 آذر 1396, 16:52 عصر
سلام دوستان.
فرض کنید یه جدول تنظیمات داریم توی دیتابیس که فقط یه سطر داره و فیلد های اون مثلا:
عنوان سایت، آدرس لوگو؛ شماره تماس، آدرس کانال تلگرام و ... هست.
--------------------------
حالا من می خوام یه کلاس استاتیک داشته باشم با یه سری Property استاتیک مثلا توی View خودم بنویسم @GetSiteTitle بیاد مقدارش رو از دیتابیس بخونه و نمایش بده.
حالا مثلا لوگوی سایت توی هدر هست و در تمام صفحات تکرار میشه و توی Layout مینویسم مثلا GetLogo که خود این پراپرتی یه String برمیگردونه که آدرس فایل لوگو هست
حالا وقتی می خوام از dbcontext استفاده کنم مثه اینکه نمیشه توی متد های استاتیک ازش استفاده کرد.
فایل Resource هم نمی خوام استفاده کنم.
شاید این راهی که گفتم اصلا استاندارد نباشه.دقیق نمیدونم ولی این به ذهنم رسید.
کلا واسه همچین موردی چه راهی پیشنهاد میکنید که بهینه هم باشه و رفت و آمد به دیتابیس رو کمتر بکنه؟

nunegandom
چهارشنبه 29 آذر 1396, 23:30 عصر
با سلام
به نظرم خیلی خوب میشه اگه از یک فایل xml یا فایل متنی استفاده بشه که تنظیمات داخلش به صورت name & key گذاشته بشه
دیگه کلا نیازی به دیتابیس نیست
کاملا قابل انعطاف هست
با یک تکست ادیتور هم کاربر میتونه راحت کانفیگشو انجام بده

Moien Tajik
پنج شنبه 30 آذر 1396, 14:19 عصر
تو هر صفحه ارتباط برقرار کردن با دیتابیس برای گرفتن اسم سایت و ... سربار زیادی داره.
معمولا اینها چیزایی نیستن که زیاد تغییر کنن بخاطر همین داخل یک کلاس Static قرارشون میدن و ازشون استفاده میکنن.
میتونید داخل یک فایل Json بزارید و از داخل اون مقادیر رو بخونید :

{
"SiteName" : "Sample Project"
}



public static class ConfigurationReader
{
public static Configuration Read()
{
var path =
HttpContext.Current.Server.MapPath("~/Configs/Configuration.json");


using (var sr = new StreamReader(path))
{
return JsonConvert.DeserializeObject<Configuration>(sr.ReadToEnd());
}
}
}