سؤال

عند إنشاء تطبيق ASP.NET جديد في Visual Studio، يتم إنشاء بضعة ملفات ومجلدات تلقائيًا.يسمى أحد هذه المجلدات App_Data.

وأيضًا عند نشر موقع ويب عن طريق تحديد خيار القائمة Build->Publish خانة الاختيار متاحة Include files from the App_Data folder.

هل أنا على حق في افتراض أن الملفات الموضوعة في هذا الملف ومجلداته الفرعية لن يمكن الوصول إليها عبر الويب؟على سبيل المثال، هل سيكون من الآمن أن أضع في هذا المجلد الموارد التي أنوي استخدامها فقط من خلال رمز التطبيق؟

ما هو الاستخدام الحقيقي المقصود من App_Data مجلد؟

يحرر:

شكرا لكم على كل الإجابات.من الإجابات التي تلقيتها حتى الآن أنا مهتم في الغالب بنقطتين مذكورتين:

  1. تعد App_Data في الأساس نقطة تخزين لمخزن البيانات المستند إلى الملف
  2. ولا ينبغي أن يكون قابلاً للعرض عبر الويب، وهو مكان لتطبيق الويب لتخزين البيانات وقراءتها منها

هل سيتمكن شخص ما من تحديد كيفية ضمان "عدم إمكانية العرض عبر الويب"؟هل يمكنني الاعتماد على هذه الحقيقة عند إجراء النشر القياسي، أم أنني بحاجة إلى التحقق من بعض إعدادات IIS على الخادم أيضًا.

في الحالة التي يكون لدي فيها مجموعة من ملفات pdf التي أريد الوصول إليها من التطبيق فقط.هل سيكون مجلد App_Data هو المكان المناسب للاستخدام، أم هل يجب علي إنشاء مجلد منفصل وتعيين IIS يدويًا للتأكد من عدم إمكانية الوصول إليه عبر الويب؟

هل كانت مفيدة؟

المحلول

تعد App_Data في الأساس نقطة تخزين لمخازن البيانات المستندة إلى الملفات (على عكس مخزن قاعدة بيانات خادم SQL على سبيل المثال).تستخدمه بعض المواقع البسيطة للمحتوى المخزن بتنسيق XML على سبيل المثال، حيث تكون رسوم استضافة قاعدة البيانات باهظة الثمن.

نصائح أخرى

في IIS، قم بتمييز الجهاز، وانقر نقرًا مزدوجًا فوق "طلب التصفية"، وافتح علامة التبويب "المقاطع المخفية".تم إدراج "App_Data" هناك كمجلد مقيد.نعم أعلم أن هذا الموضوع قديم جدًا، لكن هذا لا يزال قابلاً للتطبيق.

الاستخدام المقصود لـ App_data هو تخزين بيانات التطبيق حتى تتمكن عملية الويب من الوصول إليها.ولا ينبغي أن يكون قابلاً للعرض عبر الويب، وهو مكان لتطبيق الويب لتخزين البيانات وقراءتها منها.

إنه مكان لوضع قاعدة بيانات مضمنة، مثل Sql Server Express أو Access أو SQLite.

المجلد App_Data هو مجلد، تتمتع العملية العاملة الخاصة بـ asp.net بحقوق نظام الملفات أيضًا، ولكن لا يتم نشره من خلال خادم الويب.

على سبيل المثال، نستخدمه لتحديث ملف CSV محلي لملف اتصل بنا استمارة.إذا فشلت الطريقة المفضلة لرسائل البريد الإلكتروني أو كان هناك حاجة إلى أي استعلام عن مصدر البيانات، فستكون ملفات App_Data موجودة.

إنها ليست مثالية، لكنها تراجع جيد.

من الوثائق حول هيكل مجلد مشروع ويب ASP.NET في MSDN:

يمكنك الحفاظ على ملفات مشروع الويب الخاصة بك في أي بنية مجلد مريحة لتطبيقك.لتسهيل العمل مع التطبيق الخاص بك ، تحتفظ ASP.NET بأسماء ملفات وأجسام معينة يمكنك استخدامها لأنواع محددة من المحتوى.

معلومات التطبيق يحتوي على ملفات بيانات التطبيق بما في ذلك ملفات قاعدة بيانات .mdf وملفات XML وملفات مخزن البيانات الأخرى.يتم استخدام مجلد APP_DATA بواسطة ASP.NET لتخزين قاعدة البيانات المحلية للتطبيق ، مثل قاعدة البيانات للحفاظ على معلومات العضوية ومعلومات الأدوار.لمزيد من المعلومات، راجع مقدمة عن العضوية و فهم إدارة الأدوار.

الهدف الرئيسي هو الاحتفاظ بملف (ملفات) قاعدة بيانات التطبيق الخاص بك.

ولن يكون من الممكن الوصول إلى هذا من الويب افتراضيًا.

نستخدمها كمنطقة تخزين مؤقتة لملفات CSV التي تم تحميلها.بمجرد التحميل، تقوم طريقة ajax بمعالجة الملف وحذفه.

الاستخدام المقصود لـ App_Data هو تخزين الملفات ذات الصلة بقاعدة البيانات.عادة ملفات SQL Server Express .mdf.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top