Dostop do map v skupni rabi v drugih strežnikih iz aplikacij ASP.NET Core (IIS, nastavitve skupine aplikacij)

Stran posodobljena :
Datum ustvarjanja strani :

Okolje za preverjanje delovanja

Visual Studio
  • Visual Studio 2022
ASP.NET jedro
  • 6 (Razpr strani)
Windows Server
  • 2022 (ASP.NET osnovne sistemske zahteve)
  • 2019 (strežnik za uvajanje map v skupni rabi)
Storitve IIS
  • 10.0

Delovno okolje

Nisem ga preizkusil v vsem, vendar bi moral delovati večinoma.

Visual Studio
  • Vse, kar lahko razvije ASP.NET ali ASP.NET jedrni projekt
ASP.NET jedro
  • Vsaka različica (MVC, Razor Pages, API)
ASP.NET
  • Vsaka različica je sprejemljiva
Windows Server
  • Windows Server 2008 ali novejša različica
Storitve IIS
  • 7.0 ali novejši

Pogoj

  • ASP.NET Osnovne aplikacije naj bi se izvajale v storitvah IIS. Drugi spletni strežniki ne bodo mogli izvajati vsebine teh nasvetov

okolje

Preverjeno je v naslednjem okolju.

Namen uporabe osebnih računalnikov in strežnikov
Windows 11 (lokalno) Okolje za razvoj programov. Nepomembno za namen tega člena
SV2022Test Okolje, v katerem se izvajata storitvi IIS in ASP.NET Core. Od tu dostopajte do mape v skupni rabi SV2019Test
SV2019Test Strežniki z mapami v skupni rabi

Poleg tega so različne nastavitve naslednje.

Vrednost imena parametra
Dostop do uporabniškega imena SharedUser
Ime mape v skupni rabi Mapa v skupni rabi

Ustvarjanje programa za branje in pisanje datotek iz mape v skupni rabi iz aplikacije ASP.NET Core

Kot gospod / gospa potegnite, preprosto kliknite gumb,

  • Naložite datoteke v mapo v skupni rabi in jih prikažite na zaslonu
  • Pisanje nove datoteke v mapo v skupni rabi

proces.

Mapa v skupni rabi še nisem ustvaril, zato je ne morem odpraviti, vendar je to preprosta koda, zato bom za zdaj naredil program.

ASP.NET Core projekt je lahko poljubne vrste, vendar v tem primeru uporabljam Razor Pages.

Index.cshtml.cs in dodajte, kaj se zgodi, ko kliknete gumb. Ime strežnika je napisano neposredno, vendar ga dobro prilagodite pri dejanskem delovanju. V nekaterih primerih mapa v skupni rabi morda ni dostopna, zato je priložena v poskusni ulov.

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 ima gumb in sporočilo.

@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>
@* ここまで追加 *@

Ko ustvarite program, ustvarite datoteko za uvajanje v strežnik. V tem primeru bomo uporabili način postavitve objavljene datoteke neposredno, vendar ni pomembno, katero metodo uporabljate. Poleg tega razporeditev programa ni bistvo tega nasveta, zato je navedena na poenostavljen način.

Dodajte konfiguracijo objavljanja.

Spremenite nastavitve.

Nastavitve se spremenijo, kot je prikazano na sliki. To tudi ni posebej povezano z namenom tega časa, zato vas prosimo, da ga nastavite glede na svoje okolje.

Objavite program.

Po objavi programa kliknite povezavo »Ciljna lokacija« in odprla se bo mapa z datotekami, ki jih želite postaviti.

Ustvarjanje strežnika map v skupni rabi

Ustvarjanje uporabnika

Običajno, če je strežnik drugačen, se uporabnik, ustvarjen na vsakem strežniku, interno obravnava kot popolnoma drugačen uporabnik. Če ustvarite datoteko z istim uporabniškim imenom in geslom, lahko preverjanje pristnosti sistema Windows preskočite na drug strežnik. Tokrat bomo to uporabili za dostop do mape v skupni rabi na drugem strežniku.

Mimogrede, če se ukvarjate s strežniki in računi v domeni, kot je Active Directory, lahko s tem računom nastavite oba strežnika, kar do neke mere poenostavi konfiguracijo.

Postopek ustvarjanja uporabnika ni podrobno opisan.

SharedUser V tem primeru ga bomo ustvarili z imenom . Ker ta uporabnik ne upravlja zaslona ali spreminja nastavitev, gesla ni mogoče spremeniti.

Če pustite privzeto, se lahko s tem uporabnikom prijavite z oddaljenim namizjem itd., Zato odstranite iz skupine Users .

Ustvarjanje mape v skupni rabi

Ni pomembno, kje ga ustvarite. To je zato, ker drugim strežnikom ni mar za lokacijo fizične mape. V tem primeru bomo ustvarili mapo, imenovano neposredno pod SharedFolder pogonom C, in jo delili.

Odprite lastnosti in konfigurirajte nastavitve skupne rabe.

Ime mape v skupni rabi bi moralo SharedFolder biti . To ime bo vidno drugim strežnikom. Dodajte SharedUser dovoljenja.

Everyone Izbrišite obstoječo .

Potrdite z dovoljenjem »Spremeni«.

Ker smo dodali samo dovoljenja, do katerih je mogoče dostopati od zunaj, ga bomo nastavili interno SharedUser , da bo lahko deloval v tej mapi.

Potrdite z dovoljenjem »Spremeni«.

Ustvarite datoteko, da preverite operacijo.

V redu je, če lahko dostopate v Raziskovalcu iz \\<サーバー名>\ drugega računalnika, se prijaviteSharedUser z in si ogledate datoteko.

Gradnja aplikacijskega strežnika

Namestitev storitev IIS

Zaenkrat ga privzeto namestite iz upravitelja strežnika. Ne bom se spuščal v podrobnosti postopka.

Dodatne funkcije niso potrebne.

Trenutno niso potrebne nobene dodatne storitve IIS.

Namestitev paketa ASP.NET Core Runtime Hosting Bundle

Ker uporabljamo ASP.NET Core 6, moramo ustrezno namestiti izvajalnik. Prenesite ga z naslednjega URL-ja:

Če želite zagnati ASP.NET Core v storitvah IIS, potrebujete nekaj, kar se imenuje »Gostovanje paketa«. Prenesite "Hosting Bundle" iz izvajalnika ASP.NET Core.

Ko ga prenesete, ga zaženite na strežniku.

Namestite ga s čarovnikom.

Ustvarjanje in uvajanje spletnih aplikacij

V skrbniških orodjih sistema Windows odprite upravitelja storitev IIS (Internet Information Services).

"Privzeto spletno mesto" lahko uporabite takšno, kot je, vendar bomo tokrat ustvarili novo spletno mesto. Privzeto spletno mesto se zažene samodejno, zato ga ustavite.

Ustvarite novo spletno mesto.

Tokrat je SharedFolderAccess ime spletnega mesta , vendar ni pomembno.

Skupina aplikacij je samodejno ustvarjena za novo spletno mesto.

Ustvarite in določite mapo po svoji izbiri, kamor želite namestiti program.

Vrata 80 imajo oznako »Privzeto spletno mesto« in prikazalo se bo opozorilo, vendar ga lahko prezrete, če je že navzdol.

Ustvarjen je bil.

Odprite mapo, določeno na spletnem mestu v Raziskovalcu, ter kopirajte in postavite vse objavljene programe takšne, kot so.

Odprite stran s povezave IIS in preverite, ali se prikaže zaslon. Najprej lahko odprete spletni brskalnik in neposredno vnesete URL.

Mimogrede, tudi če kliknete gumb v tem stanju, boste dobili napako, ker nastavitev dovoljenja še ni dokončana.

Ustvarjanje uporabnika

Ustvarite istega uporabnika SharedUser v aplikacijskem strežniku kot v strežniku map v skupni rabi. Prepričajte se, da se ujemata tudi vaša gesla. Koraki so popolnoma enaki.

Spreminjanje dovoljenj za področje aplikacij

Dostop po spletnih programih je določen s skupino programov. Privzeto ima samo ApplicationPoolIdentity pravice za zagon spletnih aplikacij.

Če spremenite to pravico v SharedUser , lahko spletni program deluje s privilegiji uporabnika, ki ste ga nastavili. To spletnim programom SharedUser omogoča dostop do map v skupni rabi v .

Ko odprete upravitelja storitev IIS, izberite Skupine programov.

Ko ustvarite spletno mesto, se samodejno doda SharedFolderAccess , zato z desno miškino tipko kliknite in izberite »Napredno«.

V procesnem modelu je "ID", zato kliknite gumb na desni.

Izberite »Račun po meri« in kliknite gumb »Nastavitve«.

SharedUser Vnesite in potrdite uporabniško ime in geslo.

Potrditev delovanja

Pojdite na spletno stran in kliknite gumb. Če je prikazana vsebina besedilne datoteke, je uspešna.

Preverite, ali imate v mapi v skupni rabi tudi novo datoteko.