Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 32993|Svar: 0

[Kilde] Publicér dit projekt på en fjern IIS-server ved hjælp af VS 2019

[Kopier link]
Opslået på 09/10/2020 12.09.22 | | | |
Tidligere, når man publicerede projekter, blev filer kopieret og indsat til site-mappen eller uploadet til site-mappen via FTP, men nu med fremkomsten af kontinuerlig integration, automatiseret drift og vedligeholdelse samt automatiseret publicering, ændrer udgivelsesprojekter sig også dag for dag.

Denne artikel beskriver, hvordan man kan publicere eksternt til et fjern IIS-site via VS 2019.

Fjernserversystem: Windows Server 2019 64-bit

Serverkonfiguration

1. Tilføj IIS, installer .NET-framework (udeladt)

2. Download og installer Web Deploy

Web Deploy kan bruges til at implementere webprojekter lokalt og eksternt på følgende adresse:Hyperlink-login er synlig.



Ved installationen vælger du"Fuldendt"Efter installationen vil du se "Web Management Service"-tjenesten i tjenesten, som vist i figuren nedenfor:



Hvis det ikke er installeret, vil VS få følgende fejl ved fjernudgivelse:

---------------------------
Microsoft Visual Studio
---------------------------
Mislykkedes i at oprette forbindelse til den eksterne computer ("xx"). Sørg for, at Web Deploy er installeret på den eksterne maskine, og at den nødvendige proces ("Web Management Service") er startet.  Læs mere på:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Kan ikke oprette forbindelse til fjernservere
---------------------------
Er du sikker   
---------------------------


3. Installer "IIS Management Scripts and Tools"

Gå til Vælg Serverroller > Webserver (IIS) > Administrative Værktøjer, vælg derefter rollen IIS Administrative Scripts and Tools, klik på Næste, og installer rollen.



4. IIS muliggør fjernforbindelser

Find administrationstjenesten i IIS og aktivér fjernforbindelser, som vist på følgende billede:





(Bemærk:Åbn 8172-indgående porten i firewall- og sikkerhedsgruppen

5. Opret et nyt IIS-site

Opret et nyt site med navnet test1, som vist i følgende figur:



6. IIS tilføjer administrative brugere

Tilføj en IIS Manager-bruger, som vist på følgende billede:



Samtidig tilføjes autorisation på test1-siden, som vist i figuren nedenfor:



Hvis du ikke tilføjer autorisation, vil følgende fejl blive rapporteret, når du offentliggør eksternt:

---------------------------
Microsoft Visual Studio
---------------------------
Du har forbundet til en fjerncomputer ("xxx") via webadministrationstjenesten, men har undladt at godkende den. Sørg for, at du bruger det korrekte brugernavn og adgangskode, at det site, du er tilknyttet, allerede eksisterer, og at brugeren, hvis legitimationsoplysninger repræsenterer, har adgang til siden.  Læs mere på:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Den eksterne server returnerer en fejl: (401) Uautoriseret.
---------------------------
Er du sikker   
---------------------------
Udgivelse ASP.NET MVC-projekt

Først opretter du et nyt .NET 4.6.2 asp.net mvc-projekt med navnet WebAutomatedDeployment ved brug af VS 2019,

Opret to nye biblioteker, og websiteprogrammet refererer til disse to biblioteker samtidig. (Opret og referer til 2 biblioteker, fordi simuleringen er tættere på det officielle projekt)


Prøv at starte projektet som vist nedenfor:



Højreklik på projektet, vælg Publicer, Web Server (IIS)-> Web Deployment, og udfyld serverinformationen, som vist i følgende figur:



Verificér forbindelsen, og testen består, som vist i følgende billede:



Da jeg forsøgte at publicere, var fejlen som følger:

Webudrulningsopgaven mislykkedes. ((2020/10/9 11:34:38) Fejlbehandlingsanmodning på fjerncomputer. )

(2020/10/9 11:34:38) Fejlbehandlingsanmodning på fjerncomputer.
Serveren har problemer med at behandle anmodningen. Kontakt din serveradministrator for detaljer.        WebAutomatedDeployment 0
Du kan se specifikke fejl gennem Server Event Viewer, som vist i følgende figur:



User: itsvse
Klient-IP: xxx
Content-Type: application/msdeploy
Version: 9.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 9.0.3802.0
MSDeploy.Method: Sync
MSDeploy.RequestId: def8d9f7-1a72-4b19-8b75-919f8c6a9604
MSDeploy.RequestCulture: zh-CN
MSDeploy.RequestUICulture: zh-CN
ServerVersion: 9.0.1973.0
Skip: objectName="^configProtectedData$"
Provider: auto, Path:
En undtagelse for trace deployment agent, der blev udbredt til klienten, fandt sted. Anmodnings-ID "def8d9f7-1a72-4b19-8b75-919f8c6a9604", anmodningstidsstempel: "2020/10/9 11:51:29". Fejloplysninger:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。
   I System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, Strengnavn, SafeHandle-håndtag, SecurityInfos securityInformation, SecurityIdentifier ejer, SecurityIdentifier-gruppen, GenericAcl sacl, GenericAcl dacl)
   at System.Security.AccessControl.NativeObjectSecurity.Persist(Strengnavn, SafeHandle-håndtag, AccessControlSections includeSections, Object exceptionContext)
   I System.Security.AccessControl.NativeObjectSecurity.Persist(Strengnavn, AccessControlSections includesSections, Object exceptionContext)
   på Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(Strengsti, boolean isFile)
   på Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, boolean whatIf)
   på Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject source, DeploymentSyncContext syncContext)
   på Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject)
   på Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   på Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
   I Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId)
   på Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName)
   på Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
   på Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
Opløsning:

Genstart VS Tools, klik på Publicér, og følgende billede vil dukke op:



Tjek"Gem dette certifikat til fremtidige sessioner i Visual Studia" kan løses.

Første gang det blev udgivet, gik det langsomt, fordi alle filerne skulle uploades til serveren, som vist i figuren nedenfor:



Prøv at ændre sidefilen Index.cshtml og klik på Genpublicér, kun følgende 3 filer vil blive opdateret, som vist i figuren nedenfor:



Opdater hjemmesiden og find, at den er blevet opdateret, som vist nedenfor:



(Slut)




Tidligere:Byg en ocserv vpn-proxy på CentOS 7
Næste:Aspose.Celler Tre Musketerer
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com