Avatar billede boholdt Mester
17. december 2020 - 13:27 Der er 7 kommentarer

Afvikling af filer af typen .cshtml fra undermapper på webhotel fungerer ikke

Hej

På Internettet har jeg fundet følgene lille .cshtml-fil, som kan fortælle hvilke styresystem med mere der er installeret på min server:
<!DOCTYPE html>
<html>
    <head>
        <title>Server Information</title>
    </head>
    <body>
        @ServerInfo.GetHtml()
    </body>
</html>
---
For at jeg kan afvikle filen skal jeg oprette en fil af typen web.config med følgende indhold:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="webPages:Version" value="2.0"/>
    </appSettings>
</configuration>
---
Min udfordring er nu følgende:
1. Hvis jeg placerer de 2 filer på et underdomæne, for eksempel http://server.minhjemmeside.dk fungerer det fint
2.2. Hvis jeg til gengæld placerer de 2 filer i en undermappe til mit domænes hovedmappe, og forsøger at tilgå via http://www.minhjemmeside.dk/testserver fungerer det ikke, og jeg får en fejlmeddelelse om, at filer af typen .cshtml ikke er tilladt.

Er der nogle som ved hvorfor, samt om jeg kan ændre på noget, så afvikling af .cshtml-filer kan fungere fra undermapper?

Filen hedder i begge tilfælde default.cshtml.

På forhånd tak for svaret.

Mvh Anders.
Avatar billede arne_v Ekspert
17. december 2020 - 15:17 #1
web.config i roden og .cshtml i under mappe??
Avatar billede boholdt Mester
17. december 2020 - 15:25 #2
Nej - jeg har både web.config og default.cshtml i undermappen.
Avatar billede arne_v Ekspert
17. december 2020 - 15:43 #3
Det forstod jeg, men proev med web.config i roden og .cshtml i under mappen.
Avatar billede boholdt Mester
17. december 2020 - 16:01 #4
Hej igen
OK.

Jeg har forsøgt at placere web.config-filen i roden, og default.cshtml-filen i undermappen - men med den samme fejl.

Jeg vil, hvis det er muligt, gerne have én web.config-fil i roden der styrer generelle ting som HTTPS-beskyttelse og lignende, og e anden i undermappen server, som gør at den lille default.cshtml-fil afvikles.

Er det noget med, at jeg skal angive en sti i web.config-filen i undermappen der gør, at default.cshtml afvikles?
Avatar billede softspot Forsker
17. december 2020 - 19:49 #5
Hvordan er webhotellet med dit subdomæne konfigureret (hvor det fungerer) kontra det domæne hvor du anvender undermappe (hvor det ikke fungerer)? Razor skal vel være konfigureret for at du kan få det til at køre, eller hvad?

NB: Jeg er lidt usikker, da jeg ikke har arbejdet med det udenfor et MVC-framework...
Avatar billede boholdt Mester
17. december 2020 - 20:35 #6
Hej igen

1. Jeg er helt ny hvad angår ASP.NET - hvordan mit domæne er konfigureret ved jeg desværre ikke. Jeg kan blot konstatere, at jeg fint kan afvikle filer af typen .aspx fra undermappen, som befinder sig i min public.html-mappe.

2. På hjemmesiden
https://stackoverflow.com/questions/27697138/cshtml-files-not-serving-from-subdirectory
, skriver de, at .cshtml-filer normalt kun kan afvikles fra roden af webhotellet, og så noget med at route til en undermappe. Det sidstnævnte forstår jeg dog ikke i forhold til min lille default.cshtml-fil.

Jeg tænker på, om det eventuelt vil gøre nogen forskel at konvertere undermappen i rodmappen til en applikation igennem IES Manager. Jeg går ud fra, at webhotellet som standard fortolker rodmapper som applikationer.

Har I noget bud på dette?

På forhånd tak for svaret.

Mvh Anders.
Avatar billede boholdt Mester
18. december 2020 - 15:04 #7
Hej igen

Nu har jeg løsningen på mine udfordringer. Således kan jeg afvikle den lille default.cshtml-fil, inklusiv den tilhørende web.config-fil fra undermappen i min public_html-mappe der har navnet Test.

Løsningen er følgende:
Undermappen, hvori, at  du placerer henholdsvis default.cshtml, samt web.config, skal konverteres om til en applikation. Når du blot tilgår webhotellet igennem almindelig FTP, vises mappen som en almindelig mappe, uanset, om den er en applikation eller ej. Dette har jeg gjort på følgende måde:
1. Hentet IES Manager i 64-bit versionen fra følgende link:
http://www.iis.net/download/iismanager
2. Før installationen har jeg, på min Windows 10 64-bit Professionel, været inde under Programmer og Funktioner, og aktiveret Internet Information Services (dette bad installationsprogrammet til IES Manager mig om). Jeg har så kun aktiveret Værktøjer til Web Management, samt World Wide Web Services
3. Herefter har jeg installeret IES Manager
4. Herefter har jeg installeret Web Deploy 3.6 i 64-bit versionen fra følgende link:
https://www.iis.net/downloads/microsoft/web-deploy
5. Herefter har jeg åbnet IES Manager, og valgt "Connect to site"
6. Herefter har jeg udfyldt de relevante oplysninger som server, side, brugernavn og adgangskode
7. Da jeg oprettede forbindelse første gang, kom IES Manager og informerede mig om, at der var nogle ekstrakomponenter fra mit webhotel der skulle installeres. Dette sagde jeg ja til hele vejen igennem
8. Efter, at forbindelsen var oprettet, højreklikkede jeg på mappen "Test", og valgte "konverter til applikation"
9. Herefter fungerer alt med de 2 filer (default.cshtml, samt den tilhørende web.config-fil), som hvis de ligger på mit underdomæne, eller for den sags skyld i min public-html-mappe.

Tak til alle som er kommet med forslag her i tråden.

Mvh Anders.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester