Autor Beitrag
Dresha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win XP Prof
C# (VS08 + NET3.5), jdk6
BeitragVerfasst: Do 17.04.08 23:33 
Ich hab im V Studion ein Webservice Programm gebaut zum testen. Soweit funktioniert auch alles. Nur wenn ich es im Browser aufrufe um die Methoden zu testen. Bekomme ich bei meinem Methoden immer System.NullReferenceException als fehler zurück.

Woran kann das liegen?

ausblenden C#-Quelltext
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:
        [WebMethod]
    public QuizFrage holeFrage()
    {
      Random r = new Random();
      return fragen[ r.Next(fragen.GetUpperBound(0) + 1) ];
    }
    
    ///<summary>    
    ///Überprüft, ob die Antwort des Clients richtig ist und gibt das entsprechende
    ///Resultat zurück
    ///</summary>
        [WebMethod]
    public QuizResultat beantworteFrage(int frageID, int antwortIndex)
    {
                  
      QuizFrage aktFrage = null;            

            aktFrage = fragen[frageID];

            if ((frageID > 0) || (frageID < fragen.Length))
            {
                return resultate[2];
            }
            if (aktFrage.istRichtig(antwortIndex))
            {
                return resultate[1];
            }
            return resultate[0];
    }
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 18.04.08 06:42 
Ich gehe mal davon aus, dass Du die Fragenliste in einer anderen Methode aufbaust? Das geht so leider nicht, da die Klasseninstanz nach dem Aufruf der Wiederverwertung zugeführt wird. D.h., Du bekommst bei jedem neuen Aufruf eine leere Liste. Du musst diese auf eine andere Weise zwischenspeichern, ich weiß nicht, ob Du bei einem Webservice sowas wie eine Session hast, aber das kannst Du Dir ja mal anschauen.

Oder Du lädst die Fragentabelle bei jedem Zugriff.
Dresha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win XP Prof
C# (VS08 + NET3.5), jdk6
BeitragVerfasst: Mo 21.04.08 12:58 
Ich hab das Problem gefixed. Ich hab einen Fehler beim initiallisieren vom Array gemacht. Deswegen hat er mir den Fehler geworfen. Die beiden Funktionen brauchte ich nicht zu verändern auch brauchte ich keine session oder ähnliches einbauen. Ich mußte nur die Methode in der ich das Array aufbaue anpassen und nun gehts. ^^