Más kiszolgálókon lévő megosztott mappák elérése ASP.NET Core alkalmazásokból (IIS, alkalmazáskészlet-beállítások)

Oldal frissítve :
Oldal létrehozásának dátuma :

Művelet-ellenőrzési környezet

Visual Studio
  • Visual Studio 2022
ASP.NET mag
  • 6 (Razpr oldalak)
Windows Server
  • 2022 (ASP.NET alapvető rendszerkövetelmények)
  • 2019 (megosztott mappa központi telepítési kiszolgálója)
IIS
  • 10.0

Működési környezet

Nem teszteltem mindenben, de nagyrészt működnie kell.

Visual Studio
  • Bármi, ami ASP.NET vagy ASP.NET Core projektet fejleszthet
ASP.NET mag
  • Bármely verzió (MVC, Razor Pages, API)
ASP.NET
  • Bármely verzió elfogadható
Windows Server
  • Windows Server 2008 vagy újabb
IIS
  • 7.0 vagy újabb

előfeltétel

  • ASP.NET Az alapvető alkalmazások az IIS szolgáltatásban való futtatásra szolgálnak. Más webszerverek nem tudják megvalósítani ezeknek a tippeknek a tartalmát

környezet

Ellenőrzése a következő környezetben történik.

A
PC-k és szerverek használatának célja
Windows 11 (helyi) Környezet a programok fejlesztéséhez. A cikk célja szempontjából irreleváns
SV2022Teszt Az IIS-t és a ASP.NET Core-t futtató környezet. Az SV2019Test megosztott mappa elérése innen
SV2019Teszt Megosztott mappákkal rendelkező kiszolgálók

Ezenkívül a különböző beállítások a következők.

Paraméternév értéke
Hozzáférési felhasználónév Megosztott felhasználó
Megosztott mappa neve Megosztott mappa

Program létrehozása megosztott mappában lévő fájlok olvasásához és írásához ASP.NET Core-alkalmazásból

Mr./Ms. húzásként egyszerűen kattintson a gombra,

  • Fájlok betöltése megosztott mappába és megjelenítése a képernyőn
  • Új fájl írása megosztott mappába

folyamat.

Még nem hoztam létre megosztott mappát, így nem tudok hibakeresést végezni, de ez egyszerű kód, ezért egyelőre csak egy programot készítek.

ASP.NET Core projekt bármilyen típusú lehet, de ebben az esetben a Razor Pages-t használom.

Index.cshtml.cs és adja hozzá, hogy mi történik, amikor rákattintanak a gombra. A szerver neve közvetlenül van írva, de kérjük, állítsa be jól a tényleges működés során. Bizonyos esetekben előfordulhat, hogy a megosztott mappa nem érhető el, ezért egy próbálkozási fogásba van zárva.

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 van egy gombja és egy üzenete.

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

A program létrehozása után hozzon létre egy fájlt a kiszolgálóra történő telepítéshez. Ebben az esetben a közzétett fájl közvetlen elhelyezésének módját fogjuk használni, de nem számít, melyik módszert használja. Ezenkívül a program elrendezése nem a lényege ennek a tippnek, ezért egyszerűsített módon van felsorolva.

Adjon hozzá egy közzétételi konfigurációt.

Módosítsa a beállításokat.

A beállítások az ábrán látható módon módosulnak. Ez szintén nem kapcsolódik különösebben ennek az időnek a céljához, ezért kérjük, állítsa be a környezetének megfelelően.

Tegye közzé a programot.

A program közzététele után kattintson a "Célhely" linkre, és megnyílik az elhelyezni kívánt fájlokat tartalmazó mappa.

Megosztott mappakiszolgáló létrehozása

Felhasználó létrehozása

Általában, ha a kiszolgáló eltérő, az egyes kiszolgálókon létrehozott felhasználót belsőleg teljesen más felhasználóként kezelik. Ha ugyanazzal a felhasználónévvel és jelszóval hoz létre fájlt, kihagyhatja a Windows-hitelesítést egy másik kiszolgálóra. Ezúttal ezt fogjuk használni egy másik szerver megosztott mappájának elérésére.

Egyébként, ha olyan tartományban lévő kiszolgálókkal és fiókokkal foglalkozik, mint az Active Directory, mindkét kiszolgálót beállíthatja ezzel a fiókkal, ami bizonyos mértékig leegyszerűsíti a konfigurációt.

A felhasználó létrehozásának eljárását nem ismertetjük részletesen.

SharedUser Ebben az esetben a névvel hozzuk létre. Mivel ez a felhasználó nem működteti a képernyőt, és nem módosítja a beállításokat, a jelszó nem módosítható.

Ha elhagyja az alapértelmezett értéket, bejelentkezhet ezzel a felhasználóval a Távoli asztal stb. segítségével, ezért kérjük, távolítsa el a csoportból Users .

Megosztott mappa létrehozása

Nem számít, hol hozod létre. Ennek az az oka, hogy más kiszolgálók nem törődnek a fizikai mappa helyével. Ebben az esetben létrehozunk egy mappát, amelyet közvetlenül a C meghajtó alatt SharedFolder nevezünk el, és megosztjuk azt.

Nyissa meg a tulajdonságokat, és konfigurálja a megosztási beállításokat.

A megosztott mappa SharedFolder nevének . Ez a név látható lesz a többi kiszolgáló számára. Adja hozzá SharedUser az engedélyeket.

Everyone Törölje a meglévő .

Erősítse meg a "Módosítás" engedéllyel.

Mivel csak olyan engedélyeket adtunk hozzá, amelyek kívülről érhetők el, belsőleg SharedUser állítjuk be, hogy ebben a mappában működhessen.

Erősítse meg a "Módosítás" engedéllyel.

Hozzon létre egy fájlt a művelet ellenőrzéséhez.

Rendben van, ha egy másik számítógépről elérheti az Intézőt \\<サーバー名>\ , bejelentkezhetSharedUser a segítségével, és megtekintheti a fájlt.

Alkalmazáskiszolgáló létrehozása

Az IIS telepítése

Egyelőre alapértelmezés szerint telepítse a kiszolgálókezelőből. Nem megyek bele az eljárás részleteibe.

Nincs szükség további funkciókra.

Jelenleg nincs szükség további IIS-szolgáltatásokra.

ASP.NET Core Runtime tárhelycsomag telepítése

Mivel ASP.NET Core 6-ot használjuk, ennek megfelelően kell telepítenünk a futtatókörnyezetet. Töltse le a következő URL-címről:

A ASP.NET Core futtatásához az IIS-ben szüksége van valamire, amit "Hosting Bundle" -nek hívnak. Töltse le a "tárhelycsomagot" a ASP.NET Core futtatókörnyezetből.

A letöltés után futtassa a szerveren.

A telepítéshez kövesse a varázslót.

Webalkalmazások létrehozása és telepítése

A Windows felügyeleti eszközök közül nyissa meg az Internet Information Services (IIS) kezelőjét.

Használhatja az "Alapértelmezett weboldalt" úgy, ahogy van, de ezúttal új webhelyet hozunk létre. Az alapértelmezett webhely automatikusan elindul, ezért kérjük, állítsa le.

Hozzon létre egy új webhelyet.

Ezúttal a webhely neve SharedFolderAccess , de ez nem számít.

Az alkalmazáskészlet automatikusan létrejön az új helyhez.

Hozzon létre és adjon meg egy tetszőleges mappát, ahol el szeretné helyezni a programot.

A 80-as port "Alapértelmezett webhely" címkével van ellátva, és figyelmeztetést fog látni, de figyelmen kívül hagyhatja, ha már nem működik.

Létrehozták.

Nyissa meg a webhelyen megadott mappát a Windows Intézőben, és másolja és helyezze el az összes közzétett programot úgy, ahogy vannak.

Nyissa meg a lapot az IIS hivatkozásból, és ellenőrizze, hogy megjelenik-e a képernyő. Először megnyithat egy webböngészőt, és közvetlenül megadhatja az URL-címet.

Egyébként, még akkor is, ha ebben az állapotban rákattint a gombra, hibaüzenetet kap, mert az engedélybeállítás még nem fejeződött be.

Felhasználó létrehozása

Hozza létre ugyanazt a felhasználót SharedUser az alkalmazáskiszolgálón, mint a megosztott mappakiszolgálón. Győződjön meg arról, hogy a jelszavak is egyeznek. A lépések pontosan ugyanazok.

Alkalmazáskészlet engedélyeinek módosítása

A webes programok általi hozzáférést az alkalmazáskészlet határozza meg. Alapértelmezés szerint csak ApplicationPoolIdentity a webalkalmazások futtatásához szükséges jogosultságokkal rendelkezik.

Ha ezt a jogosultságot SharedUser értékre módosítja, a webes program a beállított felhasználó jogosultságaival működhet. Ez lehetővé teszi, hogy a webprogramok SharedUser hozzáférjenek a megosztott mappákhoz.

Az IIS-kezelő megnyitásakor válassza az Alkalmazáskészletek lehetőséget.

A webhely létrehozásakor automatikusan hozzáadásra kerül SharedFolderAccess , ezért kattintson rá jobb gombbal, és válassza a "Speciális" lehetőséget.

Van egy "ID" a folyamatmodellben, ezért kattintson a jobb oldali gombra.

Válassza az "Egyéni fiók" lehetőséget, majd kattintson a "Beállítások" gombra.

SharedUser Írja be és erősítse meg felhasználónevét és jelszavát.

A működés megerősítése

Lépjen a weboldalra, és kattintson a gombra. Ha megjelenik a szövegfájl tartalma, akkor sikeres.

Győződjön meg arról, hogy a megosztott mappában is van egy új fájl.