Just nu i M3-nätverket
Gå till innehåll

Runtime Error


Micke_skane

Rekommendera Poster

Hej,

 

Skulle ta upp .NET -sakerna men får fel på en grundsak.

Fungerar fint om jag debuggar på egna datorn men på webbhotellet blir det bara Runtime Error.

På webbhotellet har jag ställt in det på .NET 2.0.

 

default.aspx

[log]

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%
   HelloWorld.Text = "Micke";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
   <title>Untitled Page</title>
</head>
<body>
   <form id="form1" runat="server">
   <div>
   <asp:label id="HelloWorld" runat="server" />
   </div>
   </form>
</body>
</html>

[/log]

.aspx.cs

[log]

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
   protected void Page_Load(object sender, EventArgs e)
   {

   }
}

[/log]

.config

[log]

<?xml version="1.0"?>
<!-- 
   Note: As an alternative to hand editing this file you can use the 
   web admin tool to configure settings for your application. Use
   the Website->Asp.Net Configuration option in Visual Studio.
   A full list of settings and comments can be found in 
   machine.config.comments usually located in 
   \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
	<!-- 
           Set compilation debug="true" to insert debugging 
           symbols into the compiled page. Because this 
           affects performance, set this value to true only 
           during development.
       -->
	<compilation debug="true"/>
	<!--
           The <authentication> section enables configuration 
           of the security authentication mode used by 
           ASP.NET to identify an incoming user. 
       -->
	<authentication mode="Windows"/>
	<!--
           The <customErrors> section enables configuration 
           of what to do if/when an unhandled error occurs 
           during the execution of a request. Specifically, 
           it enables developers to configure html error pages 
           to be displayed in place of a error stack trace.

       <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
           <error statusCode="403" redirect="NoAccess.htm" />
           <error statusCode="404" redirect="FileNotFound.htm" />
       </customErrors>
       -->
</system.web>
</configuration>

[/log]

På sidan(runtime) nämns att lägga till:

<customErrors mode="Off"/>

 

Gör jag det får jag felmeddelandet:

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

och pekar på raden i Web.Config

<authentication mode="Windows"/>

 

Vad menas med detta?

 

Länk till kommentar
Dela på andra webbplatser

Se till att det finns en applikation startad i IIS-inställningarna (klicka annars på Create för att skapa den)

 

Länk till kommentar
Dela på andra webbplatser

Får logga in och se om jag hittar Var jag gör den inställningen.

Det är på Binero för övrigt...

 

Länk till kommentar
Dela på andra webbplatser

Så gjorde jag med ang att skapa en mapp och ftp:a upp filerna.

Men sen förstår jag inte var man hittar IIS-inställningarna eller som dem säger, "went into IIS".

Kollat i kontrollpanelen...

 

EDIT:

Lade .Config-filen i mappen App_Data som ligger i samma mapp som filerna och då gick det fint :)

Varför ska den filen ligga i den mappen och inte tillsammans med dem andra?

[inlägget ändrat 2007-12-06 19:09:04 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

IIS-inställningarna hittar du i Control Panel->Administrative tools->Internet Information Services, under fliken Home Directory för webbsajtens/VD:ts egenskaper. Tryck på Create vid Application Name

 

Länk till kommentar
Dela på andra webbplatser

Jag hittade det, var lite andra vägar att ta men jag hittade det :)

Nu kan .Config ligga tillsammans med dem andra filerna.

 

Vad är detta för inställning och varför behövs den?

Eller vad är det för skillnad på att göra denna inställning på mappen man själv skapat i ftp:n(så att filerna ligger i samma mapp) och att lägga .Config i mappen App_Data?

 

[inlägget ändrat 2007-12-06 19:40:08 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Du menar allowDefinition?

Den används för att tala om var det är tillåtet att lägga ConfigurationSection-grupper. Sätter du detta till MachineToApplication så får du bara lägga dem i machine.config, web.config i samma mapp som machine.config samt i en web.config i webbroten (men INTE i underliggande kataloger)

För att tillåta det även i underkataloger får du använda ett värde av Everywhere

 

Här är alla värden:

Everywhere

The ConfigurationSection can be defined anywhere.

 

MachineOnly

The ConfigurationSection can be defined only in the Machine.config file.

 

MachineToApplication

The ConfigurationSection can be defined in either the Machine.config file, the machine-level Web.config file found in the same directory as Machine.config, or the top-level application Web.config file found in the virtual-directory root, but not in subdirectories of a virtual root.

 

MachineToWebRoot

The ConfigurationSection can be defined in either the Machine.config file or the machine-level Web.config file found in the same directory as Machine.config, but not in application Web.config files.

 

[inlägget ändrat 2007-12-06 19:45:36 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Okej, men vad är machine.config för någon sorts fil?

 

Sen undrade jag nog mer vad det är för skillnad på att lägga web.config i t ex mappen Add_Data och att ha den i samma mapp som default.aspx?

Framgick nog inte så bra i min fråga :)

 

Länk till kommentar
Dela på andra webbplatser

machine.config är en figg-fil för datorn som helhet, medan web.config bara styr en (eller alla) webbapplikationer. Att lägga vissa typer av filer i designerade mappar är ett sätt att särskilja olika typer av data, så app_data är bara en av .net fördefinierad mapp. Den är dessutom skyddad mot nedladdning av dess innehåll och därför är det ett bra ställe att lägga känslig data och databasfiler i .

 

Länk till kommentar
Dela på andra webbplatser

Så då är det där .config och aspx.cs ska ligga.

Eller hur är det med aspx.cs, den kan ju innehålla viktig info.

För det går väl att ladda ner den eller hur är det?

 

Länk till kommentar
Dela på andra webbplatser

cs-filerna skall du överhuvudtaget inte ha på produktionsservern., enbart de kompilerade dll:erna som läggs i bin-mappen. cs-filerna har ingen funktionalitet utanför utvecklingsmiljön så att låta de ligga på en publik server, som alltid kan hackas på något sätt, är en säkerhetsrisk,

 

Av samma anledning skall all känslig data alltid krypteras i web.config, inte minst databas-kopplingssträngarna

[inlägget ändrat 2007-12-06 21:11:16 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

;( goddamit!

Trodde jag fattat det med cs-filerna och att det bara var att lägga upp dem, typ som en js-fil som man länkar till i webbfilen...

 

Hur kompilerar man dem? Var finns bin-mappen i förhållande till webbsidan?

(Får plöja lite mer kurser på nätet, antagligen)

Aha, man får göra detta i dos och då skapas det en exe-fil...?

Om det är så, hur länkar man den sen till t ex default.aspx?

 

Krypteringen kan jag förstå att man gör men inte Hur man gör(ännu).

 

[inlägget ändrat 2007-12-06 21:25:23 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Kompilerar gör du från Visual Studio, som i sin tur skapar en bin-mapp i webbroten. För att uppdatera sajten på webbhotellet så kopierar du över de kompilerade dll:erna till webbhotellets bin-mapp (samt config-, ascx och aspx-filer förstås, för dessa ingår inte i kompileringen)

 

Har lite svårt att skriva nu, börjar blir trött och har fortfarande inga nya glasögon. Synen sviker mig =)

[inlägget ändrat 2007-12-06 21:30:52 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Kastar mig in i diskussionen...

 

Skapa bin-filer görs automatiskt när du kör "Publish Web Site" (högerklicka på ditt projekt så ser du det i menyn), annars kan jag rekommendera att du tankar hem "Visual Studio 2005 Web Deployment Projects" (http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx).

 

/OZn

_______________________________________________________

 

Länk till kommentar
Dela på andra webbplatser

Kastar mig in i diskussionen...
Du är så välkommen :)

 

Okej, jag utvecklar i VWD 2005 Express men det går väl bra där med att göra detta!?

 

Men läser man olika artiklar så verkar det vara så att dem använder cs-filerna som dem är, så som jag gjorde i mitt ex.

 

börjar blir trött och har fortfarande inga nya glasögon. Synen sviker mig =)
Ja, det är väl så när man börjar lämna 30års-nivån ;)

Tur att man är lite yngre...

 

Länk till kommentar
Dela på andra webbplatser

Får du fortfarande samma fel som i ditt första inlägg? Har läst igenom tråden i rapidfart men vad jag kan se av felmeddelandet så har du antingen fler web.config:er (i root och/eller i undermapper). Web.config ska ligga i root:en. Har du specifika inställningar i en undermapp kan du inte ha med <authentication mode="Windows"/> i dessa config-filer

 

 

/OZn

_______________________________________________________

 

Länk till kommentar
Dela på andra webbplatser

Det felet är borta.

Jag lade web.config i mappen App_Data som ligger i samma mapp som mina .aspx-filer.

Dessa filer i sin tur ligger Inte på första nivå i root-mappen utan i en undermapp(net), dvs en "testmapp" för just .net-sidorna jag försöker mig på.

 

Länk till kommentar
Dela på andra webbplatser

Ok, jag skulle iof inte dribbla med massa undermappar innan jag fått det att fungera. Hur som helst, vad är ditt problem nu?

 

/OZn

_______________________________________________________

 

Länk till kommentar
Dela på andra webbplatser

Det fungerar nu med sidan.

Men nu är det mest hur man kompilerar i VWD2005Express och min fråga/fundering är även att i många artiklar verkar dem använda .cs-filerna utan att kompilera dem.

 

Så som jag visade i mitt första inlägg i denna tråd.

 

Men nu ska jag stänga datorn för idag men utvecklingen fortsätter...

Kanske man blir en .NET-snubbe oxå till slut :)

Man får väl ha tålamod...

 

[inlägget ändrat 2007-12-06 22:09:35 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Jag tror du tänker på den nya pre-compilern i ASP.Net 2.0 där det inte längre krävs en explicit kompilering av kod-filerna i VS. Istället sköter pre-compilern detta när sidan anropas. Jag har dock svårt att se hur detta kan vara lika effektivt som att kompilera binärerna explicit själv.

 

Länk till kommentar
Dela på andra webbplatser

Så du menar att om man kör .NET 2.0 och man anropar sidorna där man includerat .cs-filer, så kompileras .cs-filerna automatiskt!?

 

Länk till kommentar
Dela på andra webbplatser

Kanske man blir en .NET-snubbe oxå till slut :)

Man får väl ha tålamod..

Det tycker jag du skall bli. Det är en hel del att läsa in, jag rekommenderar Microsofts certifieringsböcker, de är ofta rätt bra, men det lönar sig i slutändan.

 

Länk till kommentar
Dela på andra webbplatser

Så du menar att om man kör .NET 2.0 och man anropar sidorna där man includerat .cs-filer, så kompileras .cs-filerna automatiskt!?

Det är så jag uppfattat det, men inget som jag någonsin nyttjat. Du kan läsa här om det, ganska lång artikel dock:

 

http://www.west-wind.com/presentations/AspNetCompilation/AspNetCompilation.asp#_Page_Compilation_in

 

Länk till kommentar
Dela på andra webbplatser

Får kolla på det imorgon eller i helgen!

 

Det tycker jag du skall bli.
Ja, jag vill bli det och det Snabbt och Nu :)

Men det är alltid en himla massa saker som är brått att göra så man tar gärna till det "gamla" som man vet inte tar så lång tid att få till ordentligt.

Men jag känner att nu är där en liten lucka i projekten innan ett mastodant projekt är på gång så då vill jag hinna med att greppa .NET så jag kan fortsätta på det...

 

Tack så länge! Återkommer med all säkehet ;)

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...