Bonjour à tous,
bon voila je suis un peu a cour d'idées la.
Je vous explique mon prob:
J'ai un formulaire web fait en aspx.
Voici le mécanisme que j'utilise dans toutes mes pages de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Imports Westwind.Web.data
Imports System.data
 
Partial Class objet
    Inherits System.Web.UI.Page
 
    Public MyData As DataSet
    Dim MyDataAccess As New DataAccess
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Page.IsPostBack = False Then
            Data_Load()
            'si on arrive sur la page, on charge les données
        Else
            MyData = Session("mydata")
            'si on a rechargé la meme page (pour redessinner un contrôle)
            'on récupère simplement les données dans une variable de session.
            'ceci évite de perdre ce qui a été encodé en rechargeant les données de la DB
        End If
    End Sub
 
    Private Sub Data_Load()
        'Placez ici le code utilisateur pour initialiser la page
        'MyDataAccess = New DataAccess
        MyData = New DataSet
        MyData = Session("mydata")
 
        'l'objet de la demande est dans la table etud
        MyDataAccess.Load_Etud(Session("matricule"), MyData)
 
        wwWebDataHelper.FormBindData(Me)
        Session("mydata") = MyData
    End Sub
 
    Private Sub BSuiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BSuiv.Click
        Dim MyComment As String
        MyComment = TComment.Text
        MyComment = MyComment.Trim
        'vérification de la longueur du texte avant de permettre l'update.
        '50 signes minimum
        If (MyComment.Length > 50) Then
            wwWebDataHelper.FormUnbindData(Me)
            MyDataAccess.Update_Etud(MyData)
            Response.Redirect("famille.aspx")
        Else
            LHideLimite.Visible = True
        End If
    End Sub
 
    Private Sub BPrec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BPrec.Click
        wwWebDataHelper.FormUnbindData(Me)
        MyDataAccess.Update_Etud(MyData)
        Response.Redirect("identite.aspx")
    End Sub
End Class
donc en gros au chargement de la page je charge mes donées dans le dataset MyData, et je sauvegarde celui ci dans une variable de session.
La variable de session me sert comme indiqué dans le code a ne pas devoir le recharger dans le cas ou la page elle doit etre rechargée.

Toutes mes pages fonctionnent suivant ce schéma mais je met celle-ci car c'est la + simple et ne contient pas d'autres méthodes que les deux boutons pour changer de page (en avant ou en arrière)

Le problème est le suivant, le serveur perd de manière relativement aléatoire ce qui est chargé en mémoire.
Je me retrouve avec des NullreferenceException et des ArgumentNullException dans l'EventViewer dans tout les sens et ce principalement au moment ou j'appelle ma méthode d'update qui prend en paramètre mydata.

C'est à n'y rien comprendre parce que le temps qu'il s'écoule avant que ça plante n'a pas l'air d'etre identique a chaque fois.
J'ai mit le timeout session a 200, j'ai décoché "Arrêter le processus de travail après une période d'inactivité" dans le pool d'application.
ça a rien changé

L'application tourne en framework 2.0 sur windows server 2003 sp1 iis 6!

Bon je sais pas si j'ai été assez clair/complet mais n'hésitez pas si vous avez besoin de plus d'infos pour pouvoir me sortir de ce problème
MAis en gros: es ce qu il y aurait encore un autre mécanisme de timeout qui m'aurait échappé?

edit: je complète avec une exception qui se produit lors du chargement de la page donc meme pas sur un objet que j'ai instancié moi meme :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
...
 
Informations sur le processus : 
    ID de processus : 796 
    Nom du processus : w3wp.exe 
    Nom du compte : AUTORITE NT\SERVICE RÉSEAU 
 
Informations sur l'exception : 
    Type d'exception : NullReferenceException 
    Message d'exception : La référence d'objet n'est pas définie à une instance d'un objet. 
 
Informations sur la demande : 
    URL de la demande : http://.../sse/emploi.aspx 
    Chemin d'accès à la demande : /sse/emploi.aspx 
    Adresse d'hôte de l'utilisateur : 172.17.9.39 
    Utilisateur :  
    Est authentifié : False 
    Type d'authentification :  
    Nom du compte de thread : AUTORITE NT\SERVICE RÉSEAU 
 
Informations sur le thread : 
    ID de thread : 1 
    Nom du compte de thread : AUTORITE NT\SERVICE RÉSEAU 
    Emprunte une identité : False 
    Trace de la pile :    à emploi.Page_Load(Object sender, EventArgs e)
   à System.Web.UI.Control.OnLoad(EventArgs e)
   à System.Web.UI.Control.LoadRecursive()
   à System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
edit2: je ne sais pas pq on a modifié mon titre mais je ne pense pas que mon problème se situe spécifiquement au dataset qui est dans la variable de session. Par contre mes balises etaient pas correctes sorry