Bonjour,

J'ai un problème avec une page en VB qui imprime des bons de commandes.
Cette page reçoit en paramètre le numéro de bon, et l'imprime.
j'utilise le code :

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
 
 ...
 ...
 Dim pd As New Printing.PrintDocument()
        Try
 
 
            pd.PrinterSettings.PrinterName = ConfigurationSettings.AppSettings("imp1")
            pd.DocumentName = "BDC : " & bdc.num
 
            AddHandler pd.PrintPage, AddressOf Me.pd_PrintBDC
            pd.OriginAtMargins = True
            Dim margins As New Margins(20, 0, 20, 0)
            pd.DefaultPageSettings.Margins = margins
 
            pd.Print()
            RemoveHandler pd.PrintPage, AddressOf Me.pd_PrintBDC
            pd.Dispose()
 
        Catch ex As Exception
            ...
            ...
La fonction pd_PrintBDC met du texte en page du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
' adresse'
rect = New Rectangle(410, 175, 295, 120)
ev.Graphics.DrawString(adresse, New System.Drawing.Font("Lucida Console", 11), Brushes.Black, rect)
 
        ' identifications supplementaire a l'adresse''
        ev.Graphics.DrawString(Date.Now.ToString, New System.Drawing.Font("Arial", 8), Brushes.Black, 410, 290)
        ev.Graphics.DrawString(num_client, New System.Drawing.Font("Arial", 8), Brushes.Black, 410, 305)
        ev.Graphics.DrawImage(b.Encode(BarcodeLib.TYPE.CODE128, num_client, 150, 20), 380, 320, 150, 20)
J'utilise une dll (barcodeLib) qui me fait des codes barres, sinon, rien de bien méchant.

Tout se passe correctement sur la plateforme de test, WinSBS 2003 / IIS 6 et asp.net 2.0

Mais en prod (win2008 foundation, IIS7) c'est la cata, le code met un temps fou a répondre. L'impression sort tout de suite mais reste dans la file d'attente pendant environ 2 a 3 minutes, ce qui bloque les suivantes.
Si j'imprime une page de test depuis windows, je n'ai pas de problèmes particulier, on dirait que l'impression en DotNet bloque des ressources et ne se libère pas.
Pire, jessaye de changer d'imprimante et l'impression reste en file d'attente sans sortir.
Je n'arrive pas à trouver de solution, j'en appelle aux expert de ce forum

merci d'avance.
NZ