مشاركة عبر


محلي و البعيد الوصول إلى البيانات في تطبيقات ClickOnce

Most applications consume أو produce بيانات. ClickOnce gives you a variety of خيارات for reading و writing بيانات, كلاهما locally و remotely.

محلي بيانات

مع ClickOnce, you can تحميل و store بيانات locally بواسطة using أي واحد of the following وظائف:

  • ClickOnce بيانات الدليل

  • التخزين المعزول

  • غير ذلك محلي ملفات

ClickOnce بيانات الدليل

Every ClickOnce تطبيق installed تشغيل a محلي الكمبيوتر has a بيانات الدليل, stored في the مستخدم's مستندات و إعدادات مجلد. أي ملف مُضمن في a ClickOnce تطبيق و marked كـ a "بيانات" ملف هو copied إلى this الدليل when an تطبيق هو installed. Data ملفات can be of أي نوع الملف, the most frequently used being نص, XML, و قاعدة بيانات ملفات such كـ Microsoft الوصول .mdb ملفات.

The بيانات الدليل هو intended for تطبيق-مدارة بيانات, which هو بيانات that the تطبيق بوضوح stores و maintains. الجميع ثابت, nondependency ملفات not marked كـ "بيانات" في the بيان تطبيق will instead reside في the تطبيق الدليل. Th هو الدليل هو الموقع يكون للتطبيق القابل للتنفيذ (.exe) الملفات والتجميعات موجودة.

ملاحظة

عند ClickOnceتطبيق هو تمت إزالته "الدليل بيانات" الخاصة به هو أيضا تمت إزالته. لا تستخدم Direcإلىry بيانات إلى sإلىre مستخدم–مدارة بنهاية بيانات، مثل مستندات.

وضع علامة على ملفات بيانات في توزيع ClickOnce

لوضع موجود ملف داخل "الدليل البيانات"، يجب وضع الموجود ملف كبيانات ملف في جهاز ClickOnceبيان تطبيق الخاص بتطبيق ملف. لمزيد من المعلومات، راجع كيفية: تضمين ملف بيانات في تطبيق ClickOnce.

القراءة من و الكتابة إلى الدليل بيانات

يتطلب القراءة من "دليل بيانات" الخاصة بك ClickOnceتطبيق طلب إذن "القراءة"؛ وكذلك الكتابة إلى الدليل الذي يتطلب إذن الكتابة. سيتم تلقائياً منحك التطبيق الخاص بك th هو permهوsion إذا هو تكوينها ليتم تشغيلها "الثقة كاملة". لمزيد من المعلومات حول الأذونات elevating الخاصة بك تطبيق باستخدام "إذن رفع" أو توزيع تطبيق الموثوق بها، راجع أمان ClickOnce.

ملاحظة

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

بعد تطبيق الخاص بك يحتوي تشغيل هذه الأذونات، فإنه يمكن الوصول إليه في "الدليل بيانات" بواسطة استخدام أسلوب استدعاء تشغيل فئات داخل System.IO. يمكنك الحصول تشغيل مسار "الدليل بيانات" داخل تشغيل النماذج Windows ClickOnceتطبيق بواسطة استخدام DataDirectoryالخصائص المعرفة في CurrentDeploymentخاصية ApplicationDeployment. هذا هو الأكثر ملاءمة و الموصى بها طريقة للوصول إلى بيانات الخاصة بك. يوضح مثال التعليمة البرمجية التالية كيف إلى بذلك لملف نصي يدعى CSV.txt التي قمت بتضمينها في عملية التوزيع كملف بيانات.

If (ApplicationDeployment.IsNetworkDeployed) Then
    Dim SR As StreamReader = Nothing

    Try
        SR = New StreamReader(ApplicationDeployment.CurrentDeployment.DataDirectory & "\CSV.txt")
        MessageBox.Show(SR.ReadToEnd())
    Catch Ex As Exception
        MessageBox.Show("Could not read file.")
    Finally
        SR.Close()
    End Try
End If
if (ApplicationDeployment.IsNetworkDeployed)
{
    try
    {
        using (StreamReader sr = new StreamReader(ApplicationDeployment.CurrentDeployment.DataDirectory + @"\CSV.txt"))
        {
            MessageBox.Show(sr.ReadToEnd());
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Could not read file. Error message: " + ex.Message);
    }
}

لمزيد من المعلومات حول وضع علامة للملفات الموجودة في عملية التوزيع كـ ملفات بيانات، راجع كيفية: تضمين ملف بيانات في تطبيق ClickOnce.

يمكنك أيضا الحصول تشغيل مسار الدليل بيانات باستخدام المتغيرات ذات الصلة تشغيل Applicationclكـs، مثل كـ LocalUserAppDataPath.

التعامل مع الأنواع الأخرى من ملفات قد طلب توفير أذونات إضافى. على سبيل المثال، إذا كنت تريد استخدم ملف قاعدة بيانات (mdb.) الوصول إلى تطبيق الخاص بك يجب تأكيد الثقة الكاملة بهدف استخدم ذات الصلة System.Dataفئات.

الدليل و تطبيق بيانات الإصدارات

يحتوي كل الإصدار من تطبيق "الدليل بيانات" الخاصة به، والذي معزول من الالإصدارات الغير ذلك. ClickOnceيقوم بإنشاء هذا direcإلىry بغض النظر عن ما إذا كانت أية ملفات البيانات المضمنة في توزيع حيث يكون تطبيق لالموقع إلى قم بإنشاء ملفات بيانات جديدة في وقت التشغيل. عند إصدار جديد من تطبيق هو مثبتة، ClickOnceنسخ الجميع ملفات البيانات exهوting من "الدليل بيانات" الإصدار السابق في "الدليل البيانات" النسخة الجديدة — سواء كانت تم تضمينها في توزيع الأصلي أو التي تم إنشاؤها بواسطة تطبيق.

ClickOnceسيتم استبدال الإصدار الأقدم من الملف باستخدام إصدار أحدث من الخادم إذا كان ملف البيانات h كـ قيمة hكـh مختلفة في الإصدار القديم من تطبيق كـ في الإصدار الجديد. أيضا، إذا كان الإصدار السابق من تطبيق بتاريخ الإنشاء ملف جديد الذي له نفس الاسم كملف مُضمن في نشر إصدار جديد، ClickOnceإلى الكتابة فوق ملف الإصدار القديم بالملف الجديد. وفي كلتا الحالتين، القديم ملفات سيتم تضمينها في الدليل فرعي داخل الدليل بيانات المسمى .pre ، حيث لا يزال يمكن تطبيق الوصول إلى بيانات القديمة لأغراض الترحيل.

إذا كنت تريد ترحيل grained أفضل من البيانات، يمكنك استخدام ClickOnceAPI توزيع لتنفيذ مخصص الترحيل من "دليل البيانات" القديم إلى الجديد بيانات الدليل. يجب عليك اختبار للتنزيل متوفرة باستخدام IsFirstRun، تنزيل تحديث باستخدام Updateأو UpdateAsync، و القيام بأي عمل ترحيل بيانات المخصصة في الخاص بك بعد انتهاء تحديث.

التخزين المعزول

معزول يوفر تخزين API لإنشاء والوصول إلى الملفات باستخدام واجهة برمجة تطبيقات بسيطة. The الفعلي الموقع of the stored ملفات هو مخفي من كلاهما the developer و the مستخدم.

يعمل معزول التخزين في كافة إصدارات .NET Framework. معزول يعمل التخزين في تطبيقات موثوق به جزئيا دون الحاجة إلى منح أذونات إضافية. You should استخدم تخزين منعزل if your تطبيق must تشغيل في جزئي الثقة, but must maintain تطبيق-specific بيانات.

لمزيد من المعلومات، راجع مقدمة إلى التخزين المعزول.

غير ذلك محلي ملفات

If your تطبيق must work مع أو حفظ إنهاء-مستخدم بيانات such كـ reports, صور, music, و so تشغيل, your تطبيق will require FileIOPermission إلى read و write بيانات إلى the محلي ملف النظام.

بيانات بعيدة‬

At some يؤشر, your تطبيق will likely have إلى retrieve معلومات من a بعيد ويب موقع, such كـ العميل بيانات أو market معلومات. This مقطع discusses the most عام techniques for retrieving بعيد بيانات.

Accessing ملفات بواسطة Using HTTP

You can الوصول بيانات من a ويب الخادم بواسطة using either the WebClient أو the HttpWebRequest فئة في the System.Net مساحة الاسم. The بيانات can be either ثابت ملفات أو ASP.NET applications that return raw نص أو XML بيانات. إذا كانت بيانات الخاصة بك هو بتنسيق XML، فإن أسرع طريقة لاسترداد بيانات هو باستخدام XmlDocumentللفئات، الذين Loadيأخذ أسلوب محدد موقع معلومات كعنصر وسيطة. على سبيل المثال ، راجع Reading an XML Document into the DOM.

يجب مراعاة الأمان عند تطبيق الخاص بك الوصول إلى بيانات بعيد عبر HTTP. عن طريق الافتراضي، الخاصة بك ClickOnceالوصول تطبيق إلى موارد شبكة الاتصال قد تكون مقيدة، استناداً إلى كيفية تم نشر تطبيق الخاص بك. يتم تطبيق هذه القيود تشغيل منع البرامج الضارة من الوصول إلى بيانات البعيدة المميز أو من استخدام الكمبيوتر الخاص بالمستخدم لمهاجمة أجهزة الكمبيوتر الأخرى تشغيل شبكة الاتصال.

يسرد الجدول التالي استراتيجيات التوزيع قد تستخدم والأذونات الافتراضي ويب الخاصة بهم.

نوع توزيع

أذونات شبكة افتراضية

يثّبت صفحة ويب

يمكن فقط الوصول إلى الويب الخادم من حيث تم تثبيت تطبيق

يثّبت يجعله مشتركًا الملفات

لا يمكن الوصول إلى الخوادم ويب أي

CD-ROM يثّبت

يمكن الوصول إلى أية الخوادم ويب

إذا كان لديك ClickOnceلا يمكن الوصول إلى تطبيق ويب الخادم نظراً لتقييدات الأمان، يجب تأكيد تطبيق WebPermissionلموقع ويب هذا. ل المزيد من المعلومات حول زيادة أذونات الأمان ل ClickOnceتطبيق، راجع أمان ClickOnce.

الوصول إلى بيانات من خلال الخدمة ويب XML

إذا قمت بعرض بيانات الخاصة بك كـ الخدمة ويب XML، يمكنك الوصول إلى بيانات باستخدام وكيل الخدمة ويب ل XML. الوكيل هو .NET Frameworkإنشاء فئة بواسطة استخدام أي Visual Studio. العمليات الخدمة ويب XML — مثل كـ استرداد العملاء ويضع الطلبات، وهكذا — يتم كشف كـ الوظائف تشغيل الوكيل. يؤدي الخدمات ويب أسهل بكثير إلى باستخدام من نص الأولية أو ملفات XML.

إذا كانت خدمة ويب XML الخاصة بك تعمل عبر بروتوكول HTTP، سيتم حدود الخدمة بقيود الأمان نفس كـ WebClientو HttpWebRequestclكـses.

يمكنك أيضا تنفيذ هذه مهمة بواسطة استخدام Visual Studio. لمزيد من المعلومات، راجع: كيفية القيام بما يلي: إضافة و إزالة مراجع ويب.  

الوصول قاعدة بيانات مباشرة

يمكنك استخدام الفئات داخل System.Dataمساحة الاسم إلى تأسيس الاتصالات مباشرة مع الخادم قاعدة بيانات مثل SQL الخادم تشغيل الشبكة، ولكن يجب تكون في الحسبان لمشكلات الأمان. على عكس طلبات HTTP، طلبات الاتصال بقاعدة بيانات يتم دائماً منع بواسطة الافتراضية تحت الثقة جزئي؛ فقط هذا الإذن بواسطة الافتراضي إذا قمت بتثبيت ClickOnceتطبيق من محرك الأقراص المضغوطة. يتيح هذا الإجراء الخاص بك تطبيق الثقة تامة. لتمكين الوصول إلى قاعدة بيانات SQL الخادم معينة، عليك طلب تطبيق الخاص بك SqlClientPermissionإليه؛ لتمكين الوصول إلى قاعدة بيانات غير ذلك غير SQL الخادم، يجب أن تطلب من OleDbPermission.

معظم من الوقت، لن يكون للوصول إلى قاعدة بيانات مباشرة، ولكن سيتم الوصول إليها بدلاً من ذلك من خلال تطبيق الخادم ويب المكتوبة في ASP.NETأو على الخدمة ويب ل XML. الوصول إلى قاعدة بيانات في ترتيب هو الطريقة هو كثيرا ما أفضل طريقة إذا كان ClickOnceتطبيق هو نشرة من الخادم ويب. يمكنك الوصول إلى الملقم في الثقة الجزئية دون elevating الأذونات تطبيق's الخاصة بك.

راجع أيضًا:

المهام

كيفية: تضمين ملف بيانات في تطبيق ClickOnce