تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقال- التخزين المعزول Isolated Storage
#1
كاتب الموضوع : Islam Ibrahim

من ضمن العدد الهائل من الفئات والوظائف المقدمة من Microsoft .NET Framework توجد إحدى الميزات الجديدة والقوية لتخزين المعلومات المرتبطة بالمستخدمين والتطبيقات تدعى "التخزين المعزول" أو Isolated Sorage. تسمح مساحة الاسم System.IO.IsolatedStorage بكتابة البيانات إلى القرص الثابت عندما يكون ذلك أحياناً غير مسموح به. وهذا يوفر القدرة على تخزين أشياء مثل حالة تطبيق ومعلومات تفضيلات المستخدمين.

يمكن لكل من ASP.NET و تطبيقات نماذج Windows وحديثا تطبيقات SilverLight, و WPF استخدام الإمكانيات الكاملة للتخزين المعزول. يمكن لتطبيقات ASP.NET استخدامه لتخزين المعلومات الشخصية التي تفيد في تخصيص الموقع بالنسبة لكل مستخدم. سابقا كانت تطبيقات Windows تحفظ بيانات التطبيق في ملفات INI, وتسجيل Registry Windows, ولكن الآن أتيح للمطورين استخدام تقنية التخزين المعزول.

توفر هذه المقالة مثال لتطبيق Windows يوضح كيفية الوصول إلى المعلومات باستخدام التخزين المعزول باستخدام مساحات الأسماء ADO.NET و XML يمكن بسهولة قراءة البيانات والكتابة إليها باستخدام دفق الإدخال/الإخراج I/O مع التخزين المعزول.

كيف يعمل التخزين المعزول ؟
يساعد التخزين المعزول على إدارة البيانات المقروءة والمكتوبة من وإلى موقع تخزين معين. يمكنك اعتبار أنها منطقة محمية على محرك القرص الثابت الذي يمكن للعديد من التطبيقات الكتابة إليه ، بما فيها تلك التي لا تحتوي عادة على إذن بذلك. يمكن لتطبيقات Windows وتطبيقات ASP.NET أن تحتوي على تعليمات برمجية بمستويات مختلفة للأمان, من أدنى مستوى No trust إلى أعلى مستوى Full trust.

هناك نوعان من العزل يمكن تطبيقهما:
1 - العزل بواسطة المستخدم User, والتجميع Assembly.
2 - العزل بواسطة المستخدم User, المجال Domain, والتجميع Assembly.

يتطلب كلا النوعين من العزل أن تقترن منطقة التخزين المعزول بالمستخدم والتجميع, حيث يمكن فقط للمستخدم والتجميع الذين قاما بإنشاء التخزين المعزول الوصول إليه.

1 - العزل بواسطة المستخدم User, والتجميع Assembly
يستخدم هذا النوع من العزل عند تشغيل التطبيقات من مصادر موثوق بها والتي تتطلب تبادل المعلومات بين عدة تطبيقات لنفس التجميع.

2 - العزل بواسطة المستخدم User, المجال Domain, والتجميع Assembly.
يستخدم هذا النوع من العزل عند تشغيل التطبيقات من مصادر غير موثوق بها مثل المكونات التي تم تحميلها من الإنترنت. كما قد يستخدم هذا النوع من التخزين عند يشترط ان يكون لكل تطبيق موقع تخزين منفصل.

يتبع...
}}}}
تم الشكر بواسطة:
#2
التعامل مع التخزين المعزول:

قبل البدء قم باستيراد مساحات الاسم التالية:


كود :
Imports System.IO
Imports System.IO.IsolatedStorage

للحصول على محتوى معزول والمسمى Store والخاص بالتجميع الحالي للتطبيق الخاص بك Asembly:


كود :
Get the isolated store for this assembly
Dim isf As IsolatedStorageFile = _
IsolatedStorageFile.GetUserStoreForAssembly()
لإنشاء مجلد

تحتوي الفئة IsolatedStorageFile على أسلوب يقوم بإنشاء مجلدات داخل التخزين المعزول
' إنشاء مجلد في مخزن معزول

كود :
isf.CreateDirectory("Dir1")

لإنشاء مجلدات فرعية


كود :
isf.CreateDirectory("Dir1/Dir2")
لإنشاء ملف داخل المحتوى المعزول Store الحالي:


كود :
Dim isfs1 As IsolatedStorageFileStream = _
New IsolatedStorageFileStream("Rootfile.txt", _
FileMode.OpenOrCreate, FileAccess.Write, isf)
للكتابة داخل ملف موجود داخل المحتوى المعزول الحالي:


كود :
Dim isfs1 As IsolatedStorageFileStream = _
New IsolatedStorageFileStream("Rootfile.txt", _
FileMode.OpenOrCreate, FileAccess.Write, isf)

' يتم التعامل معه كأي stream
Dim sw As StreamWriter = New StreamWriter(isfs1)
sw.WriteLine("Isolated storage is keen.")
sw.WriteLine("You can treat it like a file.")
sw.Flush()
sw.Close()
القراءة من ملف داخل Store الحالي:


كود :
Dim isfs1 As IsolatedStorageFileStream = _
New IsolatedStorageFileStream("Rootfile.txt", _
FileMode.Open, FileAccess.Read, isf)


Dim sr As StreamReader = New StreamReader(isfs1)
Dim sw As StringWriter = New StringWriter()
While (sr.Peek() > -1)
sw.WriteLine(sr.ReadLine)
End While

MessageBox.Show(sw.ToString, _
"Isolated Storage contents")
لحذف ملف أو مجلد:


كود :
isf.DeleteFile("Dir3/Dir4/Anotherfile.txt")
isf.DeleteFile("Rootfile.txt")
لحذف مجلد فرعي:

كود :
isf.DeleteDirectory("Dir1/Dir2/")
isf.DeleteDirectory("Dir1/")
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مقال: Reflection وكيفية استخدامها في برامجنا Islam Ibrahim 5 743 13-01-16, 11:41 PM
آخر رد: Fantastico
  [مقال منقول] مشروع Mono : شغل الدوت نت على اللينكس أو أي نظام تشغيل تحلم به الشاكي لله 6 2,027 13-03-14, 02:02 AM
آخر رد: الشاكي لله
  مقال- كيف نحل مشاكلنا بأنفسنا- RaggiTech 0 589 27-10-12, 04:23 PM
آخر رد: RaggiTech
  مقال تقني- Windows Vista وVisual Studio RaggiTech 0 372 09-10-12, 11:46 AM
آخر رد: RaggiTech
  مقال: DotNET Components Licencing RaggiTech 0 331 09-10-12, 11:44 AM
آخر رد: RaggiTech
  مقال- التوثيق في الدوت نت Documenting In .NET RaggiTech 4 714 09-10-12, 11:40 AM
آخر رد: RaggiTech
  مقال: كيف نحل مشاكلنا بأنفسنا- RaggiTech 0 274 09-10-12, 11:25 AM
آخر رد: RaggiTech
  مقال- ما لا تعرفونه عن Web browser Control RaggiTech 1 438 09-10-12, 11:23 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم