Isolated Storage چیست؟

در مطلب قبلی که در ارتباط با WPF نوشته بودم، با انواع مختلف برنامه‌های WPF آشنا شدیم. و چنانچه گفته شد وقتی یک XBAP ایجاد می‌کنید تحت هیچ شرایطی قادر نخواهی بود که یک فایل رابر روی سیستم کلاینت بنویسید و یا بخوانید که از نظر امنیتی کاملا هم واضح است.

—————————————————————-

این مطلب زیر نظر مجوز GFDL منتشر می‌شود. و کلیه حقوق آن برای همگان آزاد است، بدین شرط که به کلیه شرایط موجود در مجوز GFDL ( که یک نسخه از متن انگلیسی مجوز GFDL در این محل و یک ترجمه غیر رسمی (فارسی) از متن مجوز GFDL که در مرداد ۱۳۸۳ توسط کاوه رنجبر تهیه شده است در این محل ) قرار دارد پایبند باشد.

GNU Logo

GNU Logo

عنوان مطلب : Isolated Storage چیست؟

بخش ثانی : ندارد

تاریخ انتشار : 10/03/1387 مطابق با 31/05/2009

شماره نسخه : نسخه یک

نویسنده : ناصر حاجلو

ای-میل نویسنده : n.hajloo@gmail.com

Copyright (c) 2009 Nasser Hajloo.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

—————————————————————-

اما این تمام واقعیت نیست و تحت شرایط خاصی شما قادر خواهید بود که در سیستم کلاینت اطلاعاتی را نوشته و بخوانید. در واقع موتور برنامه شما (netframework) به شما یک فضای کوچک ولی ایمن برای نوشتن و خواندن فایل در سیستم کلاینت را می‌دهد. این فضا محدودیت‌هایی دارد برای مثال فقط ۵۱۲ کیلوبایت را در اختیا شما قرار می‌دهدو اینکه شما هیچ آدرسی را ربای ذخیرهکردن ندارید!! برای مثال نی‌توانید فایلی را در (مثلا) C: ایجاد کنید. این فضا یک مکان ایمن است که خود موتور برنامه در اختیار شما قرار می‌دهد. در زیر نمونه‌ای را با هم می‌بینیم.

در ابتدا باید کتابخانه System.IO.IsolatedStorage را در کلاس خودتان Using کنید.

پس از آن فضا برای خودتان با دستور زیر ایجاد کنید.

IsolatedStorageFile myRepository = IsolatedStorageFile.GetuserStorageForApplication;

حالا باید یک نمونه از IsolatedStorageFileStream را برای خواندن یا نوشتن فایل‌ها بصورت زیر ایجاد کنیم. (درواقع ایجاد فایل)

IsolatedStorageFileStream myStream = new IsolatedStorageFileStream(“Hajloo.txt“,System.IO.FileMode.Open,Store);

حالا که فایل ایجاد شد باید در آن بنویسیم و یا ازآن بخوانیم برای این کار به StreamReader و StreamWriter احتیاج داریم.
برای نوشتن در فایل بصورت زیر عمل می‌کنیم.

System.IO.StreamWriter myWriter = new System.IO.StreamWriter(myStream);

myWriter.WriteLine(“My First Isolated Storage Test”);

برای خواندن از فایل هم بای به این شکل عمل شود

System.IO.StreamReader myReader = new System.IO.StreamReader(myStream);
String fileContent = myReader.ReadToEnd();

نکته ای که هرگز نباید فراموش کرد این است که در برنامه‌های وبی نوشتن فایل‌ها و خواندن از آنها به ازای هر کلاینت ممکن است مشکلاتی را در برنامه ایجاد کند که باید آنها را در نظر داشت.