Error na het overzetten van IIS website*

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Prototyp3_NL
  • Registratie: September 2015
  • Laatst online: 01-11-2024
Mijn vraag
...
Ik wil hulp bij een fout melding die ik krijg bij onze IIS server.

Foutmelding:

Index was outside the bounds of the array.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IndexOutOfRangeException: Index was outside the bounds of the array.

Source Error:


An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[IndexOutOfRangeException: Index was outside the bounds of the array.]
Incidentensysteem.Index.Page_Load(Object sender, EventArgs e) in C:\Users\Michel\Documents\Incidentensysteem\Incidentensysteem\Index.aspx.cs:32
System.Web.UI.Control.OnLoad(EventArgs e) +106
System.Web.UI.Control.LoadRecursive() +68
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3785


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3429.0



Ik weet niet zo goed waar ik deze fout melding kan terug vinden, of kan oplossen. ik heb gezocht via google maar dat geeft mij niet het antwoord waar ik iets mee kan.

ik hoop dat hier iemand is die mij een beetje in de juiste richting kan sturen.
Relevante software en hardware die ik gebruik
...
IIS 7.0 en 11

Alle reacties


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
De oorzaak van die foutmelding kan je terugvinden in je eien code in het bestand "Incidentensysteem\Incidentensysteem\Index.aspx.cs" op regel 32, zoals in de foutmelding staat. De oorzaak is een IndexOutOfRangeException, hierover is ook voldoende te vinden op Google. Ik hoop dat je daarmee iets verder kan.

Tip voor de volgende foutmelding: Kijk even waar ik die informatie in je foutmelding heb gevonden, dan weet je de volgende keer waar je moet kijken :)

Acties:
  • 0 Henk 'm!

  • Breezers
  • Registratie: Juli 2011
  • Laatst online: 16-03-2021
Buiten de generieke foutmelding mist even compleet de context wat er nu eigenlijk heeft plaats gevonden, naast de titel "overzetten van ISS website".

Wellicht handig om eerst even stap voor stap te beschrijven wat de probleemstelling was en welke handelingen je vervolgens gedetailleerd hebt uitgevoerd.

“We don't make mistakes just happy little accidents” - Bob Ross


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 28-05 21:53

mulder

ik spuug op het trottoir

Denk niet dat dit met IIS te maken heeft, eerder een ontbrekende/verkeerde/geen rechten connectiestring naar database of iets anders dat er voor zorgt dat je array leeg is. Debuggen dus.

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • Prototyp3_NL
  • Registratie: September 2015
  • Laatst online: 01-11-2024
Breezers schreef op maandag 28 oktober 2019 @ 16:16:
Buiten de generieke foutmelding mist even compleet de context wat er nu eigenlijk heeft plaats gevonden, naast de titel "overzetten van ISS website".

Wellicht handig om eerst even stap voor stap te beschrijven wat de probleemstelling was en welke handelingen je vervolgens gedetailleerd hebt uitgevoerd.
De context is dat we nu een oude windows server hebben lopen waarop een incidenten systeem draait via IIS, deze server gaat weg en mij is gevraagd om de website over te gaan zetten naar Azure. maar nu komen er dus verschillende fouten naar voren. de website is gemaakt in Csharp.
Stoelpoot schreef op maandag 28 oktober 2019 @ 16:16:
De oorzaak van die foutmelding kan je terugvinden in je eien code in het bestand "Incidentensysteem\Incidentensysteem\Index.aspx.cs" op regel 32, zoals in de foutmelding staat. De oorzaak is een IndexOutOfRangeException, hierover is ook voldoende te vinden op Google. Ik hoop dat je daarmee iets verder kan.

Tip voor de volgende foutmelding: Kijk even waar ik die informatie in je foutmelding heb gevonden, dan weet je de volgende keer waar je moet kijken :)
Ja ik dacht het ook zo te lezen idd, maar als ik hier dan kijk van wat er fout kan zijn zie ik het niet...
dit is de code(erg leek in deze dingen):

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
namespace Incidentensysteem
{
    public partial class Incidenten : System.Web.UI.Page
    {
        private int pageIndex;
        private string werknemerIncident = "";
        
        protected void Page_Load(object sender, EventArgs e)
        {
            pageIndex = GridView1.PageIndex;
            if ((DropDownListStatusIncident.SelectedValue != "4"))
                GridView1.Sort("Datum_afspraak", SortDirection.Ascending);
            else
                GridView1.Sort("Datum_opgelost", SortDirection.Descending);

            /*if (Cache["StatusIncident"] != null)
            {
                DropDownListStatusIncident.SelectedValue = Cache["StatusIncident"].ToString();
                Cache.Remove("StatusIncident");
            }*/
            
            if (Cache["ServiceContract"] != null)
            {
                CheckBoxServicecontract.Checked = (bool)Cache["ServiceContract"];
                Cache.Remove("ServiceContract");
            }
            if (Cache["Incidenten"] != null)
            {
                CheckBoxIncidenten.Checked = (bool)Cache["Incidenten"];
                Cache.Remove("Incidenten");
            }
            if (Cache["WerknemerIncident"] != null)
            {
                werknemerIncident = Cache["WerknemerIncident"].ToString();
                DropDownListWerknemerIncident.SelectedValue = werknemerIncident;
                Cache.Remove("WerknemerIncident");
            }
            
            selectIncidentFilter();
        }

Code tags toegevoegd; wil je dit voortaan zélf doen? code tags

[ Voor 2% gewijzigd door RobIII op 29-10-2019 10:28 ]


Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 28-05 10:33
Is het mogelijk dat de Cache["..."] een IndexOutOfRangeException gooit? Op welke regel gaat het precies fout?

Voor leesbaarheid kun je in het vervolg je code tussen [ code] tags plaatsen (even de spatie weghalen). :)

Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
Om nog een lijntje uit te gooien, 9 van de 10 keer heeft een IndexOutOfBoundsException te maken met Indexers (De [] syntax), die je gebruikt bij de Cache. Een index benaderen die niet bestaat gaat altijd fout.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Stoelpoot schreef op dinsdag 29 oktober 2019 @ 10:50:
Een index benaderen die niet bestaat gaat altijd fout.
Nou, nee, dat hoeft niet. En zéker bij een cache-implementatie is het helemaal niet gek om bij een cache-miss 'coulant' om te gaan met een niet-bestaande index. Maar dat is een nuance en gaat in de meeste gevallen inderdaad niet op.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
RobIII schreef op dinsdag 29 oktober 2019 @ 10:58:
[...]

Nou, nee, dat hoeft niet. En zéker bij een cache-implementatie is het helemaal niet gek om bij een cache-miss 'coulant' om te gaan met een niet-bestaande index. Maar dat is een nuance en gaat in de meeste gevallen inderdaad niet op.
Fair, je hebt inderdaad helemaal gelijk dat het prima zo kan worden uitgewerkt. In de regel zal een indexer inderdaad wel, zeker uit de framework-classes, gewoon een IndexOutOfRangeException teruggeven als de index niet bestaat.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Stoelpoot schreef op dinsdag 29 oktober 2019 @ 11:30:
[...]


Fair, je hebt inderdaad helemaal gelijk dat het prima zo kan worden uitgewerkt. In de regel zal een indexer inderdaad wel, zeker uit de framework-classes, gewoon een IndexOutOfRangeException teruggeven als de index niet bestaat.
In dit geval echter niet ;) https://docs.microsoft.co...get?view=netframework-4.8
Returns
Object
The retrieved cache item, or null if the key is not found.

[ Voor 9% gewijzigd door Woy op 29-10-2019 13:24 ]

“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.”


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
Behalve dat de de functie Cache.Get is, niet de indexer. Helaas staat op de pagina van de indexer geen informatie over die use case.

Either way is het allemaal speculatie totdat het uiteindelijk regelnummer wordt aangegeven. In ieder geval staan er nog usings boven die huidige code, want voor het gebruik van EventArgs is een using nodig.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Stoelpoot schreef op dinsdag 29 oktober 2019 @ 13:40:
[...]


Behalve dat de de functie Cache.Get is, niet de indexer. Helaas staat op de pagina van de indexer geen informatie over die use case.
De indexer is geïmplementeerd met een call naar de Get, maar dat staat inderdaad niet duidelijk gedocumenteerd.

“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.”

Pagina: 1