Jag har inte greppat basic aspekterna av deployment. Jag skall nu deploya en applikation.
Så här gör jag:
1. Skapar en mapp på webservern i c:\inetpub\wwwroot.
Mappen kallar jag Chart. I denna mapp Chart skapar jag också mappen bin.( c:\inetpub\wwwroot\chart\bin)
2. Skapar ett virtual directory i IIS som pekar mot mappen c:\inetpub\wwwroot\chart. Jag kontrollerar också att dvirtual directoryt är en application. Applikationens namn är Chart.
3. Kopierar innehållet i utvecklingsmaskinens bin-mapp till webserverns bin-mapp.
4. Kopierar över web.config från utvecklingsmaskinen till webserverns Chartmapp (c:\inetpub\wwwroot\chart).
5. testar genom att skriva in http://webservernamn/chart/chartpage.aspx i webbläsaren. Chartpage.aspx är den enda sidan som finns i applikationen. Får ett 404 -fel, chartpage.aspx not found.
Vad gör jag för fel?
EDIT: Det exakta felmeddelandet:
Server Error in '/Chart' Application.
--------------------------------------------------------------------------------
The resource cannot be found.
Description: HTTP 404. The resource you are looking for
(or one of its dependencies) could have been removed,
had its name changed, or is temporarily unavailable.
Please review the following URL and make sure that it is spelled correctly.
Requested Url: /chart/chartpage.aspx
Du bör då få ett "Directory listing denied" fel. Om du får ett 404-fel då med, så har du konfigurerar IIS.en fel.
Ett annat tips är att använda den färdiga funktionen i Vs.net (om du nu kör det) för att kopiera bara de filer som krävs. Börja med en "Build Solution". Ta sen "Project" - "Copy Project" och kryssa i "only files needed to run this project".
Fredriks förslag fungerar, dock är jag lite osäker på hur asp.net fungerar. Kopieringsfunktionen kopierade över aspx.filerna också. Ska det behövas? Sker anropen nu mot aspx-sidorna eller dll:erna? Jag trodde det räckte med att kopiera över dll:erna till bin-mappen?
Nej, aspx-sidorna behövs också. Design-lagret ligger kvar i dessa filer, och dessutom är det de som ser till att rätt page-klass laddas, genom "<@ Page"-direktivet. Det är alltså aspx-sidorna som anropas.
2. Skapar ett virtual directory i IIS som pekar mot mappen c:\inetpub\wwwroot\chart. Jag kontrollerar också att dvirtual directoryt är en application. Applikationens namn är Chart.
Mitt förslag är att du INTE skapar ett virtual directory, utan att vare .NET Applikation får en egen WEBSITE vilket gör att du kan kalla på den med https://www.chart.se istället för https://www.domain.se/chart
Samt om du använder dig av IIS6.0 så sätter du så att varje website får sin egen process att leva i, blir betydligt stabilare samt att det är enklare att plocka ner en site utan att de andra påverkas.
- M
131 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe