الوصول إلى المجلدات المشتركة على خوادم أخرى من تطبيقات ASP.NET Core (IIS، إعدادات تجمع التطبيقات)
بيئة التحقق من العملية
- فيجوال ستوديو
-
- فيجوال ستوديو 2022
- ASP.NET الأساسية
-
- 6 (صفحات رازبر)
- خادم ويندوز
-
- 2022 (ASP.NET متطلبات النظام الأساسية)
- 2019 (خادم نشر المجلد المشترك)
- IIS
-
- 10.0
بيئة التشغيل
لم أختبره في كل شيء ، لكن يجب أن يعمل في الغالب.
- فيجوال ستوديو
-
- أي شيء يمكن أن يطور مشروعا أساسيا ASP.NET أو ASP.NET
- ASP.NET الأساسية
-
- أي إصدار (MVC ، صفحات الحلاقة ، API)
- ASP.NET
-
- أي إصدار مقبول
- خادم ويندوز
-
- ويندوز سيرفر 2008 أو أحدث
- IIS
-
- 7.0 أو أحدث
الشرط المسبق
- تهدف تطبيقات ASP.NET Core إلى التشغيل على IIS. لن تتمكن خوادم الويب الأخرى من تنفيذ محتويات هذه النصائح
وسط
يتم التحقق منه في البيئة التالية.
الغرض من استخدام | أجهزة الكمبيوتر والخوادم |
---|---|
ويندوز 11 (محلي) | بيئة لتطوير البرامج. لا صلة له بالغرض من هذه المقالة |
SV2022اختبار | بيئة تقوم بتشغيل IIS و ASP.NET Core. قم بالوصول إلى المجلد المشترك SV2019Test من هنا |
SV2019اختبار | الخوادم ذات المجلدات المشتركة |
بالإضافة إلى ذلك ، الإعدادات المختلفة هي كما يلي.
قيمة | اسم المعلمة |
---|---|
الوصول إلى اسم المستخدم | مستخدم مشترك |
اسم المجلد المشترك | المجلد المشترك |
إنشاء برنامج لقراءة الملفات وكتابتها من مجلد مشترك من تطبيق ASP.NET Core
كسحب السيد / السيدة ، ما عليك سوى النقر فوق الزر ،
- تحميل الملفات في مجلد مشترك وعرضها على الشاشة
- كتابة ملف جديد إلى مجلد مشترك
عملية.
لم أقم بإنشاء مجلد مشترك بعد ، لذلك لا يمكنني تصحيحه ، لكنه رمز بسيط ، لذلك سأقوم فقط بإنشاء برنامج في الوقت الحالي.
يمكن أن يكون ASP.NET المشروع الأساسي من أي نوع ، ولكن في هذه الحالة ، أستخدم Razor Pages.
Index.cshtml.cs
وأضف ما يحدث عند النقر فوق الزر.
تتم كتابة اسم الخادم مباشرة ، ولكن يرجى تعديله جيدا في التشغيل الفعلي.
في بعض الحالات ، قد لا يمكن الوصول إلى المجلد المشترك ، لذلك يتم تضمينه في محاولة صيد.
public class IndexModel : PageModel
{
// 省略
public void OnGet() { }
// ここから追加
public void OnPost()
{
var serverName = "SV2019Test";
try
{
var readFilePath = $@"\\{serverName}\SharedFolder\Input.txt";
var writeFilePath = $@"\\{serverName}\SharedFolder\Output.txt";
// 共有フォルダからファイルを読み込む
var text = System.IO.File.ReadAllText(readFilePath);
// 別ファイルとして共有フォルダに書き込む
System.IO.File.WriteAllText(writeFilePath, text);
// 読み込んだ内容を画面に表示する
ViewData["Message"] = text;
}
catch (Exception ex)
{
ViewData["Message"] = ex;
}
}
// ここまで追加
}
Index.cshtml
لديه زر ورسالة.
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
@* ここから追加 *@
<form method="post">
<button type="submit">処理実行</button>
</form>
<div>@ViewData["Message"]</div>
@* ここまで追加 *@
بمجرد إنشاء البرنامج ، قم بإنشاء ملف لنشره على الخادم. في هذه الحالة ، سنستخدم طريقة وضع الملف المنشور مباشرة ، ولكن لا يهم الطريقة التي تستخدمها. بالإضافة إلى ذلك ، فإن ترتيب البرنامج ليس هو جوهر هذه النصيحة ، لذلك يتم سردها بطريقة مبسطة.
إضافة تكوين نشر.
قم بتغيير الإعدادات.
يتم تغيير الإعدادات كما هو موضح في الشكل. لا يرتبط هذا أيضا بشكل خاص بالغرض من هذا الوقت ، لذا يرجى تعيينه وفقا لبيئتك.
انشر البرنامج.
بعد نشر البرنامج ، انقر فوق الارتباط "الموقع المستهدف" وسيتم فتح المجلد الذي يحتوي على الملفات التي تريد وضعها.
إنشاء خادم مجلد مشترك
إنشاء مستخدم
عادة ، إذا كان الخادم مختلفا ، التعامل مع المستخدم الذي تم إنشاؤه على كل خادم داخليا كمستخدم مختلف تماما. من خلال إنشاء ملف بنفس اسم المستخدم وكلمة المرور ، يمكنك تخطي مصادقة Windows إلى خادم آخر. هذه المرة سنستخدم هذا للوصول إلى المجلد المشترك على خادم آخر.
بالمناسبة ، إذا كنت تتعامل مع خوادم وحسابات في مجال مثل Active Directory ، فيمكنك إعداد كلا الخادمين باستخدام هذا الحساب ، مما يبسط التكوين إلى حد ما.
لم يتم وصف الإجراء الخاص بإنشاء مستخدم بالتفصيل.
SharedUser
في هذه الحالة ، سنقوم بإنشائه بالاسم .
نظرا لأن هذا المستخدم لا يقوم بتشغيل الشاشة أو تغيير الإعدادات ، فلا يمكن تغيير كلمة المرور.
إذا تركت الإعداد الافتراضي ، فيمكنك تسجيل الدخول باستخدام هذا المستخدم باستخدام Remote Desktop ، وما إلى ذلك ، لذا يرجى الإزالة من المجموعة Users
.
إنشاء مجلد مشترك
لا يهم مكان إنشائه. وذلك لأن الخوادم الأخرى لا تهتم بموقع المجلد الفعلي.
في هذه الحالة ، سنقوم بإنشاء مجلد باسم مباشرة تحت SharedFolder
محرك الأقراص C ومشاركته.
افتح الخصائص وقم بتكوين إعدادات المشاركة.
يجب أن SharedFolder
يكون اسم المجلد المشترك . سيكون هذا الاسم مرئيا للخوادم الأخرى.
أضف SharedUser
الأذونات.
Everyone
حذف ملف .
قم بالتأكيد باستخدام إذن "التغيير".
نظرا لأننا أضفنا فقط أذونات يمكن الوصول إليها من الخارج ، فسنقوم بتعيينها داخليا SharedUser
بحيث يمكن تشغيلها في هذا المجلد.
قم بالتأكيد باستخدام إذن "التغيير".
قم بإنشاء ملف للتحقق من العملية.
لا بأس إذا كان بإمكانك الوصول إلى Explorer من \\<サーバー名>\
جهاز كمبيوتر آخر ، وتسجيل الدخولSharedUser
باستخدام ، وعرض الملف.
بناء خادم تطبيقات
تثبيت IIS
في الوقت الحالي ، قم بتثبيته افتراضيا من مدير الخادم. لن أخوض في تفاصيل الإجراء.
لا توجد ميزات إضافية مطلوبة.
لا توجد خدمات IIS إضافية مطلوبة في الوقت الحالي.
ASP.NET تثبيت حزمة استضافة وقت التشغيل الأساسية
نظرا لأننا نستخدم ASP.NET Core 6 ، نحتاج إلى تثبيت وقت التشغيل وفقا لذلك. قم بتنزيله من عنوان URL التالي:
لتشغيل ASP.NET Core في IIS ، تحتاج إلى شيء يسمى "حزمة الاستضافة". قم بتنزيل "حزمة الاستضافة" من وقت التشغيل الأساسي ASP.NET.
بمجرد التنزيل ، قم بتشغيله على الخادم.
اتبع المعالج لتثبيته.
إنشاء تطبيقات الويب ونشرها
من أدوات إدارية ل Windows، افتح إدارة خدمات معلومات إنترنت (IIS).
يمكنك استخدام "موقع الويب الافتراضي" كما هو ، ولكن هذه المرة سنقوم بإنشاء موقع جديد. يتم تشغيل موقع ويب الافتراضي تلقائيا، لذا يرجى إيقافه.
إنشاء موقع ويب جديد.
هذه المرة ، اسم الموقع هو SharedFolderAccess
، لكن لا يهم.
يتم إنشاء تجمع التطبيقات تلقائيا للموقع الجديد.
قم بإنشاء وتحديد مجلد من اختيارك حيث تريد وضع البرنامج.
يسمى المنفذ 80 "موقع ويب الافتراضي" وسترى تحذيرا ، ولكن يمكنك تجاهله إذا كان معطلا بالفعل.
لقد تم إنشاؤه.
افتح المجلد المحدد في موقع ويب في مستكشف Windows ثم انسخ كافة البرامج المنشورة كما هي.
افتح الصفحة من ارتباط IIS ومعرفة ما إذا كانت الشاشة تظهر. يمكنك فتح متصفح الويب أولا وإدخال عنوان URL مباشرة.
بالمناسبة ، حتى إذا قمت بالنقر فوق الزر في هذه الحالة ، فستتلقى خطأ لأن إعداد الإذن لم يكتمل بعد.
إنشاء مستخدم
قم بإنشاء نفس المستخدم SharedUser
على خادم التطبيقات كما هو الحال في خادم المجلد المشترك. تأكد من تطابق كلمات المرور الخاصة بك أيضا. الخطوات هي نفسها تماما.
تغيير أذونات تجمع التطبيقات
يتم تحديد الوصول عن طريق برامج الويب بواسطة تجمع التطبيقات.
بشكل افتراضي ، لديه فقط ApplicationPoolIdentity
امتيازات تشغيل تطبيقات الويب.
من خلال تغيير هذا الامتياز إلى SharedUser
، يمكن لبرنامج الويب العمل بامتيازات المستخدم الذي قمت بتعيينه.
يسمح هذا لبرامج SharedUser
الويب بالوصول إلى المجلدات المشتركة في .
عند فتح "إدارة IIS"، حدد تجمعات التطبيقات.
هناك إضافة SharedFolderAccess
تلقائية عند إنشاء موقع ويب ، لذا انقر بزر الماوس الأيمن فوقه وحدد "خيارات متقدمة".
يوجد "معرف" في نموذج العملية ، لذا انقر فوق الزر الموجود على اليمين.
حدد "حساب مخصص" وانقر فوق الزر "إعدادات".
SharedUser
أدخل وأكد اسم المستخدم وكلمة المرور الخاصين بك.
تأكيد العملية
انتقل إلى صفحة الويب وانقر على الزر. إذا تم عرض محتويات الملف النصي ، فهذا ناجح.
تأكد من أن لديك أيضا ملفا جديدا في المجلد المشترك.