[ASP.Net/COM/C#] Compiler random crashdown ?

Pagina: 1
Acties:

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Omdat veel mensen hier geweldig enthousiast zijn over het hele .Net verhaal, ben ik voor een klusje ook maar eens gebruik gaan maken van ASP.NET.

Het bestaat uit een vrij simpele pagina, die wat requests forward naar een zelf geschreven COM component.( Deze heb ik getest in VB, en werkt prima. )

References toegevoegd, DCOMCNFG gerund ( na een hele tijd klooien en afvragen waarom ik niet bij mijn componentje mocht ) etc.

Het enige probleem dat ik nu heb, is dat shijnbaar random, mijn projectje crashed met de melding:
Server Error in '/smsweb' Application.
--------------------------------------------------------------------------------

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: The compiler failed with error code 128.
Note that de fout niet optreedt tijdens compileren, maar runtime tijdens het laden van de pagina.

Hij heeft ook nog wat (detailed?) information voor me :
<snip>
Line 11: namespace ASP {
Line 12: using System;

<snip>

Line 25:
Line 26:
Line 27: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 28: public class Global_asax : smsweb.Global {
Line 29:
Line 30: private static bool __initialized = false;
Line 31:
Line 32: public Global_asax() {
Line 33: if ((ASP.Global_asax.__initialized == false)) {
Line 34: ASP.Global_asax.__initialized = true;

<snip>

Line 38: }
Wie O wie brengt mij weer aan het verstand dat MS met het .Net verhaal een goed produkt heeft afgeleverd, door mijn fout aan te wijzen ? ( Ik sta op het punt om in wat cliches over MS te vervallen namelijk :+ )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als de fout optreedt tijdens het opvragen van een pagina lijkt het erop dat er dus wat misgaat met het dynamisch compilen van je ASPX pagina. De fout lijkt dus niet te zitten in je code behind.

Laat eens een stukje zien van de aspx pagina die opgevraagd wordt. Is dit wel helemaal correct?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Ik heb dit:
C#:
1
2
3
4
5
6
7
8
9
        private static MapPointApplication _mapl = null;

        public static MapPointApplication getConnection()
        {
            if( _mapl == null )
                _mapl = new MapPointApplicationClass();

            return _mapl;
        }


In mijn global.asax.cs staan, waarbij die MapPointApplication een object is gedefineerd in mijn ActiveX dll. Volgens mij gaat het fout bij het initialiseren van dat COM object.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je Global.asax.cs wordt gecompileerd naar je DLL dus dan zou je of een ComException o.i.d. moeten krijgen of je zou tijdens het compileren een exception moeten krijgen.

Ik denk dat het probleem echt in je .aspx file zit. Deze worden namelijk pas gecompileerd op het moment dat je ze de eerste keer opvraagt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Ik heb nog wat geprobeerd, maar mijn conclusie is dat de COM interop niet zo geweldig is als het doet voorkomen. Ik laat nu mijn VB app de COM operaties doen, en ik laat deze met de webapp communiceren via een socket.

Ikzelf vind het onnodig complex op deze manier, maar ik kreeg bij de vorige oplossing geen goed gevoel. Btw, ik heb ook al een outofmemory exception gehad.

Het gaat voor mij nog een aantal versies duren voordat ik met het .Net verhaal een productieapplicatie ga opzetten, dat weet ik wel.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Zelf ben ik erg te spreken over .Net. Ik heb zelf echter niet echt veel gedaan met COM componenten. Maar ik blijf het raar vinden dat je een Compiler error krijgt.

Maak je soms helemaal geen gebruik van CodeBehind? Anders zou je namelijk geen Compiler error moeten krijgen als je ASPX file correct is.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
rwb schreef op 16 juli 2004 @ 17:56:
Zelf ben ik erg te spreken over .Net. Ik heb zelf echter niet echt veel gedaan met COM componenten. Maar ik blijf het raar vinden dat je een Compiler error krijgt.

Maak je soms helemaal geen gebruik van CodeBehind? Anders zou je namelijk geen Compiler error moeten krijgen als je ASPX file correct is.
Codebehind is toch dat je achter elk .aspx bestand een aspx.cs hebt ? Die heb ik inderdaad. Maar de compiler fout krijg ik pas tijdens het uitvoeren van de pagina. Het is naar mijn idee een fout die optreedt tijdens het JIT compilen. Ik kan het anders ook niet verklaren.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
farlane schreef op 19 juli 2004 @ 11:00:
[...]


Codebehind is toch dat je achter elk .aspx bestand een aspx.cs hebt ? Die heb ik inderdaad. Maar de compiler fout krijg ik pas tijdens het uitvoeren van de pagina. Het is naar mijn idee een fout die optreedt tijdens het JIT compilen. Ik kan het anders ook niet verklaren.
Inderdaad lijkt het erop dat het een fout is tijdens het runtime compileren van de ASPX pagina. Als je je COM component instantieerd en aanroept in je codebehind dan is deze error dus niet daar van afkomstig maar lijkt het erop dat er een fout in de syntax van je aspx pagina zit en niet in het COM gedeelte.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
rwb schreef op 19 juli 2004 @ 19:35:
Als je je COM component instantieerd en aanroept in je codebehind dan is deze error dus niet daar van afkomstig maar lijkt het erop dat er een fout in de syntax van je aspx pagina zit en niet in het COM gedeelte.
Maar dan zou tijdens het ( statisch ??? ) compileren de compiler tock al gaan klagen ? Bovendien treedt deze fout random op, maar als 'ie er is, moet ik rebooten om de pagina weer werkend te krijgen.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
farlane schreef op 19 juli 2004 @ 21:37:
[...]


Maar dan zou tijdens het ( statisch ??? ) compileren de compiler tock al gaan klagen ? Bovendien treedt deze fout random op, maar als 'ie er is, moet ik rebooten om de pagina weer werkend te krijgen.
Je krijgt deze fout dus niet altijd?? Dat maakt het inderdaad wel vreemder want als er een syntax fout in de aspx file zou zitten dan zou de error altijd op moeten treden.

Als er een syntax fout in de codebehind zit dan zou er bij het compileren in VS.NET al een fout moeten komen. Als het aanroepen van het COM component een fout geeft zou je iets van een ComException moeten krijgen en niet een compiler fout. Ik vindt de fout die je krijgt dus zeer vreemd. Mischien kan je door wat breakpoints in je code te zetten kijken waar de fout optreedt. Want een compiler exception wijst er nog steeds op dat er iets mis gaat met het compileren van je aspx pagina's en niet met de uitvoer. De aspx pagina's worden de eerste keer dat je ze opvraagt gecompileerd. Staan er mischien een aantal rechten niet goed?

Welke versie van VS.NET en het .NET framework gebruik je eigenlijk?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
De fout treedt op in deze regels:
Line 30: private static bool __initialized = false;
Line 31:
Line 32: public Global_asax() {
Line 33: if ((ASP.Global_asax.__initialized == false)) {
Line 34: ASP.Global_asax.__initialized = true;
Volgens mij heeft een breakpoint zetten geen zin; dit is zo ongeveer het eerste wat uitgevoerd wordt.
Ik gebruik overigens VS.Net 2003, en het framework dat daarbij zat. ( geen verdere updates, die schijnen er nooit te zijn als ik de update optie kies )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1