Accesarea folderelor partajate de pe alte servere din aplicațiile ASP.NET Core (IIS, setările rezervorului de aplicații)
Mediul de verificare a funcționării
- Visual Studio
-
- Visual Studio 2022
- ASP.NET Nucleul
-
- 6 (Razpr Pagini)
- Windows Server
-
- 2022 (ASP.NET cerințe de bază ale sistemului)
- 2019 (Server de implementare foldere partajate)
- IIS
-
- 10.0
Mediu de operare
Nu l-am testat în toate, dar ar trebui să funcționeze în cea mai mare parte.
- Visual Studio
-
- Orice lucru care poate dezvolta un proiect ASP.NET sau ASP.NET Core
- ASP.NET Nucleul
-
- Orice versiune (MVC, Razor Pages, API)
- ASP.NET
-
- Orice versiune este acceptabilă
- Windows Server
-
- Windows Server 2008 sau o versiune ulterioară
- IIS
-
- 7.0 sau o versiune ulterioară
Condiție prealabilă
- ASP.NET aplicații de bază sunt destinate să se execute pe IIS. Alte servere web nu vor putea implementa conținutul acestor sfaturi
mediu
Se verifică în următorul mediu.
Scopul utilizării | PC-urilor și serverelor |
---|---|
Windows 11 (local) | Un mediu pentru dezvoltarea programelor. Irelevant pentru scopul acestui articol |
SV2022Test | Un mediu care execută IIS și ASP.NET Core. Accesați folderul partajat SV2019Test de aici |
SV2019Test | Servere cu foldere partajate |
În plus, diferitele setări sunt după cum urmează.
Valoarea | numelui parametrului |
---|---|
Nume utilizator Access | Utilizator partajat |
Nume folder partajat | SharedFolder |
Crearea unui program pentru citirea și scrierea fișierelor dintr-un folder partajat dintr-o aplicație ASP.NET Core
Ca o tragere domn / doamnă, pur și simplu faceți clic pe butonul,
- Încărcați fișierele într-un dosar partajat și afișați-le pe ecran
- Scrierea unui fișier nou într-un dosar partajat
proces.
Nu am creat încă un folder partajat, așa că nu îl pot depana , dar este un cod simplu, așa că voi face doar un program pentru moment.
Proiectul ASP.NET Core poate fi de orice tip, dar în acest caz, folosesc Razor Pages.
Index.cshtml.cs
și adăugați ce se întâmplă atunci când se face clic pe buton.
Numele serverului este scris direct, dar vă rugăm să îl ajustați bine în funcționarea reală.
În unele cazuri, este posibil ca folderul partajat să nu fie accesibil, deci este inclus într-o captură de încercare.
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
are un buton și un mesaj.
@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>
@* ここまで追加 *@
După ce ați creat programul, creați un fișier pentru a-l implementa pe server. În acest caz, vom folosi metoda de plasare directă a fișierului publicat, dar nu contează ce metodă utilizați. În plus, aranjamentul programului nu este esența acestui sfat, deci este listat într-o manieră simplificată.
Adăugați o configurație de publicare.
Modificați setările.
Setările sunt modificate așa cum se arată în figură. De asemenea, acest lucru nu este legat în mod special de scopul acestui timp, așa că vă rugăm să îl setați în funcție de mediul dvs.
Publicați programul.
După publicarea programului, faceți clic pe linkul "Locație țintă" și se va deschide folderul cu fișierele pe care doriți să le plasați.
Construirea unui server de foldere partajate
Crearea unui utilizator
În mod normal, dacă serverul este diferit, utilizatorul creat pe fiecare server este tratat intern ca un utilizator complet diferit. Prin crearea unui fișier cu același nume de utilizator și parolă, puteți omite autentificarea Windows pe alt server. De data aceasta vom folosi acest lucru pentru a accesa folderul partajat de pe un alt server.
Apropo, dacă aveți de-a face cu servere și conturi într-un domeniu precum Active Directory, puteți configura ambele servere cu acel cont, ceea ce simplifică într-o oarecare măsură configurarea.
Procedura de creare a unui utilizator nu este descrisă în detaliu.
SharedUser
În acest caz, îl vom crea cu numele .
Deoarece acest utilizator nu operează ecranul sau nu modifică setările, parola nu poate fi modificată.
Dacă lăsați implicit, vă puteți conecta cu acest utilizator cu Desktop la distanță etc., așa că vă rugăm să eliminați din grup Users
.
Crearea unui dosar partajat
Nu contează unde îl creați. Acest lucru se datorează faptului că altor servere nu le pasă de locația folderului fizic.
În acest caz, vom crea un folder numit direct sub SharedFolder
unitatea C și îl vom partaja.
Deschideți proprietățile și configurați setările de partajare.
Numele folderului partajat ar trebui să SharedFolder
fie . Acest nume va fi vizibil pentru alte servere.
Adăugați SharedUser
permisiunile.
Everyone
Ștergeți fișierul . existent
Confirmați cu permisiunea "Modificare".
Deoarece am adăugat doar permisiuni care pot fi accesate din exterior, îl vom seta intern SharedUser
, astfel încât să poată funcționa în acest folder.
Confirmați cu permisiunea "Modificare".
Creați un fișier pentru a verifica operațiunea.
Este OK dacă puteți accesa Explorer de pe \\<サーバー名>\
un alt PC, vă puteți conectaSharedUser
cu , și puteți vizualiza fișierul.
Construirea unui server de aplicații
Instalarea IIS
Pentru moment, instalați-l implicit din managerul de servere. Nu voi intra în detaliile procedurii.
Nu sunt necesare caracteristici suplimentare.
Nu sunt necesare servicii IIS suplimentare în acest moment.
ASP.NET Core Runtime Hosting Bundle Instalare
Deoarece folosim ASP.NET Core 6, trebuie să instalăm timpul de rulare în consecință. Descărcați-l de la următoarea adresă URL:
Pentru a rula ASP.NET Core în IIS, aveți nevoie de ceva numit "Pachet de găzduire". Descărcați "Pachetul de găzduire" din ASP.NET Core Runtime.
Odată descărcat, rulați-l pe server.
Urmați expertul pentru a-l instala.
Crearea și implementarea aplicațiilor web
Din Instrumente de administrare Windows, deschideți Internet Information Services (IIS) Manager.
Puteți utiliza "Site-ul Web implicit" așa cum este, dar de data aceasta vom crea un site nou. Site-ul Web implicit este pornit automat, așa că vă rugăm să îl opriți.
Creați un nou site Web.
De data aceasta, numele site-ului este SharedFolderAccess
, dar nu contează.
Rezervorul de aplicații este generat automat pentru noul site.
Creați și specificați un folder la alegere unde doriți să plasați programul.
Portul 80 este etichetat "Site Web implicit" și veți vedea un avertisment, dar îl puteți ignora dacă este deja oprit.
A fost creat.
Deschideți folderul specificat în site-ul Web din Windows Explorer și copiați și plasați toate programele publicate așa cum sunt.
Deschideți pagina din linkul IIS și vedeți dacă apare ecranul. Puteți deschide mai întâi un browser web și introduceți direct adresa URL.
Apropo, chiar dacă faceți clic pe buton în această stare, veți primi o eroare, deoarece setarea permisiunii nu a fost încă finalizată.
Crearea unui utilizator
Creați același utilizator SharedUser
pe serverul de aplicații ca pe serverul de foldere partajate. Asigurați-vă că și parolele se potrivesc. Pașii sunt exact aceiași.
Modificarea permisiunilor rezervorului de aplicații
Accesul prin programe Web este determinat de rezervorul de aplicații.
În mod implicit, are doar ApplicationPoolIdentity
privilegiile de a rula aplicații web.
Prin modificarea acestui privilegiu în SharedUser
, programul web poate funcționa cu privilegiile utilizatorului pe care l-ați setat.
Acest lucru permite programelor SharedUser
web să acceseze folderele partajate în .
Când deschideți IIS Manager, selectați Application Pools.
Există o adăugare SharedFolderAccess
automată atunci când creați un site web, deci faceți clic dreapta pe el și selectați "Avansat".
Există un "ID" în modelul de proces, deci faceți clic pe butonul din dreapta.
Selectați "Cont personalizat" și faceți clic pe butonul "Setări".
SharedUser
Introduceți și confirmați numele de utilizator și parola.
Confirmarea funcționării
Accesați pagina web și faceți clic pe buton. Dacă este afișat conținutul fișierului text, acesta are succes.
Asigurați-vă că aveți și un fișier nou în dosarul partajat.