webForumDet fria alternativet

Global.asax.cs

.NETur .NET

10 svar · 508 visningar · startad av Engine^

Medlem sedan dec. 20003 887 inlägg
Frågan#1

Går det att köra global.asax-koden med codebehind? Och, om det går, finns det någon anledning till varför man bör göra det?

Jag har inte testat och ser än så länge ingen anledning till att göra det om det går. Eftersom jag är lat, så har jag inte brytt mig om detta, men det slog mig att det kanske finns en möjlighet och ett skäl att göra så.

Medlem sedan apr. 20012 266 inlägg
#2

Det går utmärkt, och du bör absolut köra så mycket från code-behind som möjligt. På så sätt skiljer du HTML från din .NET-kod på ett smidigt sätt. Code-behind är även något snabbare än att låta koden stå i en vanlig .aspx fil eller i global.asax. Använder du VS.NET så har du i princip inget val, där kör man stenhårt coe-behind på allt.

Medlem sedan dec. 20003 887 inlägg
#3

Jag använder mig av så mycket codebehind redan, men jag fick för mig att det inte skulle vara nödvändigt att göra det i global.asax. Tji fick jag, lyckligtvis :)

red.
VS.NET... det hade ju varit trevligt, men jag sitter faktiskt och skriver allting i HomeSite och kompilerar mina assemblies via bat-filer och kommandoprompten :) Lite bökigt, men jag har fanken i mig full koll på vad det är som pågår ;)

Medlem sedan dec. 20003 887 inlägg
#4

Hmm... global.asax.cs

Jag gick en smula bet på den rackaren. Jag hade tänkt att det skulle vara ganska enkelt att stoppa in koden från global.asax nästan direkt in i codebehind. Bara att göra en klass som får ärva HttpApplication, men riktigt så enkelt var det ju inte... (känns som om jag vill ha VS.NET snart ;)) Skulle någon kunna vara så snäll att visa mig tillvägagångssättet? (global.asax med tillhörande global.asax.cs)

red.
Hmm... jag löste det med global.asax, men för cirka 20 minuter sedan dök det upp ett skumt problem och jag vet inte riktigt var det kommer ifrån.

Parser Error Message: Could not load type 'Engine.CGlobal'

Source Error:
Line 1: <%@ Application Codebehind="/codebehind/engine.servehttp.com/global.asax.cs" Inherits="Engine.CGlobal" Debug="True" %>

och min global.asax.cs (som ligger där den ska!)

using System;
using System.Data;
using System.Data.OleDb;

namespace Engine
{
  public class CGlobal : System.Web.HttpApplication
  {
    protected void Session_OnStart(object objSrc, EventArgs e)
    {
      Session["ConnectionString"] = ...
    }
  }
}

Innan hade jag med en application_onstart också och det var där någonstans det började hända lurigheter. Fick helt plötsligt ett felmeddelande i den funktionen som hävdade att en referens till ett objekt inte hade satts, så jag tog bort den. Strax efteråt dök det här problemet upp.

Vad jag förstår så hittas inte global.asax.cs, men jag undrar ju lite lätt: hur den kunde tappas bort?

Medlem sedan sep. 20026 425 inlägg
#5

Enligt sista svaret i denna tråd så ska en kod liknande din, Engine^, inte fungera, p g a att du har ett definierat namnområde, namespace.
På ReadTheFuckingManual så hjälpte det tydligen att ominstallera .NET framework.

Hur som helst - prova att ta bort namespace Engine och se efter om det fungerar. :)

Medlem sedan sep. 20026 425 inlägg
#6

Denna tråd i ASPfree's forum kanske också kan hjälpa. :)

Medlem sedan dec. 20003 887 inlägg
#7

Det där var intressant och kan mycket väl vara lösningen. Nu måste jag bara vänta tills jag kommer hem och kan testa det hela ;)

Tackar!

Medlem sedan sep. 20026 425 inlägg
#8

Hoppas att det fungerar. Återkom med en eventuell lösning! :D

Medlem sedan dec. 20003 887 inlägg
#9

Ingenting fungerar... det enda som återstår är att installera om .NET, men det verkar ju helt sjukt! "%&#¤%#&&¤ x(

Medlem sedan dec. 20003 887 inlägg
#10

Jag har lyckats lösa det. Problemet verkar ha varit att min global.asax.cs innehöll ett using direktiv till en annan klass jag håller på att bygga och kompilatorn hittade inte åt den.

Lösning:

csc /t:library /r:engine.servehttp.com.dll /out:global.asax.cs.dll [i]path[/i]\global.asax.cs

Det var /r växeln för cs-kompilatorn som var viktig i det här fallet.

Medlem sedan sep. 20026 425 inlägg
#11

Aha! Vad trevligt att det till slut fungerade!
Jag tycker att .NET framework beter sig lite skumt ibland, liksom när jag igår helt plötsligt fick en annan källkod än innan, och med samma .NET-kod. :(

144 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)