Mengakses folder kongsian pada pelayan lain daripada aplikasi Teras ASP.NET (IIS, tetapan kolam aplikasi)
Persekitaran pengesahan operasi
- Visual Studio
-
- Visual Studio 2022
- ASP.NET Teras
-
- 6 (Halaman Razpr)
- Pelayan Windows
-
- 2022 (Keperluan Sistem Teras ASP.NET)
- 2019 (Pelayan Penggunaan Folder Kongsian)
- IIS
-
- 10.0
Persekitaran operasi
Saya tidak mengujinya dalam segala-galanya, tetapi ia harus berfungsi untuk sebahagian besar.
- Visual Studio
-
- Apa sahaja yang boleh membangunkan projek Teras ASP.NET atau ASP.NET
- ASP.NET Teras
-
- Sebarang versi (MVC, Halaman Cukur, API)
- ASP.NET
-
- Sebarang versi boleh diterima
- Pelayan Windows
-
- Windows Server 2008 atau lebih baru
- IIS
-
- 7.0 atau lebih baru
prasyarat
- ASP.NET Aplikasi teras bertujuan untuk dijalankan di IIS. Pelayan web lain tidak akan dapat melaksanakan kandungan petua ini
Persekitaran
Ia disahkan dalam persekitaran berikut.
Tujuan penggunaan | PC dan pelayan |
---|---|
Windows 11 (Tempatan) | Persekitaran untuk membangunkan program. Tidak relevan dengan tujuan artikel ini |
SV2022Test | Persekitaran yang menjalankan IIS dan ASP.NET Core. Akses folder kongsian SV2019Test dari sini |
SV2019Test | Pelayan dengan folder kongsian |
Di samping itu, pelbagai tetapan adalah seperti berikut.
Nilai | Nama Parameter |
---|---|
Akses Nama Pengguna | Pengguna Dikongsi |
Nama Folder Kongsi | Folder Kongsian |
Buat program untuk membaca dan menulis fail daripada folder kongsian daripada aplikasi Teras ASP.NET
Semasa Mr./Ms. tarik, hanya klik butang,
- Muatkan fail dalam folder kongsian dan paparkannya pada skrin
- Tulis fail baru ke folder kongsian
Proses.
Saya belum lagi mencipta folder kongsian, jadi saya tidak boleh menyahpepijatnya, tetapi ia adalah kod mudah, jadi saya hanya akan membuat program buat masa ini.
ASP.NET Projek teras boleh menjadi jenis apa pun, tetapi dalam kes ini, saya menggunakan Halaman Cukur.
Index.cshtml.cs
dan tambah apa yang berlaku apabila butang diklik.
Nama pelayan ditulis secara langsung, tetapi sila sesuaikannya dengan baik dalam operasi sebenar.
Dalam sesetengah kes, folder kongsian mungkin tidak boleh diakses, jadi ia disertakan dalam tangkapan cuba.
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
mempunyai butang dan mesej.
@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>
@* ここまで追加 *@
Sebaik sahaja anda telah mencipta program, cipta fail untuk digunakan ke pelayan. Dalam kes ini, kami akan menggunakan kaedah meletakkan fail yang diterbitkan secara langsung, tetapi tidak kira kaedah yang anda gunakan. Di samping itu, susunan program bukanlah intipati petua ini, jadi ia disenaraikan dengan cara yang mudah.
Tambah konfigurasi penerbitan.
Ubah seting.
Seting diubah seperti yang ditunjukkan dalam rajah. Ini juga tidak berkaitan dengan tujuan kali ini, jadi sila tetapkannya mengikut persekitaran anda.
Terbitkan program ini.
Selepas menerbitkan program, klik pada pautan "Lokasi Sasaran" dan folder dengan fail yang ingin anda letakkan akan dibuka.
Membina pelayan folder kongsian
Buat pengguna
Biasanya, jika pelayan berbeza, pengguna yang dibuat pada setiap pelayan dianggap secara dalaman sebagai pengguna yang sama sekali berbeza. Dengan mencipta fail dengan nama pengguna dan kata laluan yang sama, anda boleh melangkau pengesahan Windows ke pelayan lain. Kali ini kami akan menggunakan ini untuk mengakses folder kongsian pada pelayan lain.
Dengan cara ini, jika anda berurusan dengan pelayan dan akaun dalam domain seperti Active Directory, anda boleh menyediakan kedua-dua pelayan dengan akaun itu, yang memudahkan konfigurasi sedikit sebanyak.
Prosedur untuk membuat pengguna tidak diterangkan secara terperinci.
SharedUser
Dalam kes ini, kami akan menciptanya dengan nama .
Oleh kerana pengguna ini tidak mengendalikan skrin atau menukar tetapan, kata laluan tidak boleh diubah.
Jika anda meninggalkan lalai, anda boleh log masuk dengan pengguna ini dengan Desktop Jauh, dan lain-lain, jadi sila alih keluar dari kumpulan Users
.
Mencipta Folder Kongsian
Tidak kira di mana anda menciptanya. Ini kerana pelayan lain tidak peduli dengan lokasi folder fizikal.
Dalam kes ini, kami akan mencipta folder yang dinamakan terus di bawah SharedFolder
pemacu C dan berkongsinya.
Buka sifat dan konfigurasikan seting perkongsian.
Nama folder kongsian hendaklah SharedFolder
. Nama ini akan dapat dilihat oleh pelayan lain.
Tambah SharedUser
dalam keizinan.
Everyone
Padamkan yang sedia ada .
Sahkan dengan kebenaran "Tukar".
Oleh kerana kami hanya menambah kebenaran yang boleh diakses dari luar, kami akan menetapkannya secara SharedUser
dalaman supaya boleh beroperasi dalam folder ini.
Sahkan dengan kebenaran "Tukar".
Buat fail untuk menyemak operasi.
Tidak mengapa jika anda boleh mengakses dalam Explorer dari \\<サーバー名>\
PC lain, logSharedUser
masuk dengan , dan melihat fail.
Membina Pelayan Aplikasi
Memasang IIS
Buat masa ini, pasangkannya secara lalai daripada pengurus pelayan. Saya tidak akan masuk ke butiran prosedur.
Tiada ciri tambahan diperlukan.
Tiada perkhidmatan IIS tambahan diperlukan pada masa ini.
ASP.NET Pemasangan Himpunan Pengehosan Runtime Teras
Oleh kerana kita menggunakan ASP.NET Core 6, kita perlu memasang masa jalan dengan sewajarnya. Muat turun daripada URL berikut:
Untuk menjalankan ASP.NET Teras dalam IIS, anda memerlukan sesuatu yang dipanggil "Hosting Bundle". Muat turun "Hosting Bundle" dari ASP.NET Core Runtime.
Setelah dimuat turun, jalankannya pada pelayan.
Ikuti bestari untuk memasangnya.
Mencipta dan Menggunakan Aplikasi Web
Daripada Alat Pentadbiran Windows, buka Pengurus Perkhidmatan Maklumat Internet (IIS).
Anda boleh menggunakan "Laman Web Lalai" seperti sedia ada, tetapi kali ini kami akan membuat laman web baru. Laman Web Lalai dimulakan secara automatik, jadi sila hentikannya.
Buat laman Web baru.
Kali ini, nama SharedFolderAccess
laman web adalah , tetapi tidak mengapa.
Kumpulan aplikasi dijana secara automatik untuk tapak baru.
Buat dan tentukan folder pilihan anda di mana anda mahu meletakkan program ini.
Port 80 dilabelkan "Laman Web Lalai" dan anda akan melihat amaran, tetapi anda boleh mengabaikannya jika sudah turun.
Ia telah dicipta.
Buka folder yang ditentukan dalam laman Web dalam Windows Explorer, dan salin dan letakkan semua program yang diterbitkan seperti sedia ada.
Buka halaman daripada pautan IIS dan lihat sama ada skrin muncul. Anda boleh membuka penyemak imbas web terlebih dahulu dan masukkan terus URL.
Dengan cara ini, walaupun anda mengklik butang dalam keadaan ini, anda akan mendapat ralat kerana tetapan kebenaran belum selesai lagi.
Buat pengguna
Buat pengguna SharedUser
yang sama pada pelayan aplikasi seperti pada pelayan folder kongsian. Pastikan kata laluan anda juga sepadan. Langkah-langkahnya sama.
Mengubah Kebenaran Kolam Aplikasi
Akses melalui program Web ditentukan oleh kumpulan aplikasi.
Secara lalai, ia hanya ApplicationPoolIdentity
mempunyai keistimewaan untuk menjalankan aplikasi web.
Dengan menukar keistimewaan ini kepada SharedUser
, program web boleh beroperasi dengan keistimewaan pengguna yang telah anda tetapkan.
Ini membolehkan program SharedUser
web mengakses folder kongsian dalam .
Apabila anda membuka Pengurus IIS, pilih Kolam Aplikasi.
Terdapat ditambah secara automatik SharedFolderAccess
apabila anda membuat laman web, jadi klik kanan padanya dan pilih "Lanjutan".
Terdapat "ID" dalam model proses, jadi klik butang di sebelah kanan.
Pilih "Akaun Tersuai" dan klik butang "Tetapan".
SharedUser
Masukkan dan sahkan nama pengguna dan kata laluan anda.
Pengesahan operasi
Pergi ke halaman web dan klik pada butang. Jika kandungan fail teks dipaparkan, ia berjaya.
Pastikan anda juga mempunyai fail baru dalam folder kongsian.