IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Appel Asynchrone des dtsx


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut Appel Asynchrone des dtsx
    Bonjour,

    J'ai un site Web qui fait appel à des dtsx.
    Dans le cas classique, l'utilisateur clique sur un bouton et un dtsx est lancé.
    Les dts sont stockés dans un répertoire du serveur (le même que celui qui héberge le site)
    Dans certains cas, l'appel des dts peut être très long et du coup je lance l'appel à l'aide de threadpool.QueueUserWorkItem

    Sur mon poste, je n'ai aucun problème, l'appel est effectué correctement, que ce soit de manière synchrone ou non

    Lorsque je déploie l'application sur le serveur, pour l'exécution des dts de manière synchrone, je n'ai pas d'erreur.
    Pour ceux que j'essaie d'exécuter de manière asynchrone, j'ai l'erreur suivante :

    The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails
    Une idée de la provenance du problème?

    Pour l'appel du DTS, j'utilise le code suivant :
    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
     
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    using System.IO;
    using System.Configuration;
    using Microsoft.SqlServer.Dts.Runtime;
    using log4net;
     
    namespace DTSManager.Common
    {
        /// <summary>
        /// Factory pour les DTS
        /// </summary>
        public class DTSFactory :IDTSFactory
        {
            static readonly ILog log = LogManager.GetLogger(typeof(DTSFactory));
            public Package createPackage(string dtsFileName)
            {
                Application dtsApplication = new Application();
     
                string dtsxFilesDirectory = DTSConfiguration.DtsxDirectory;
                string dtsFilePath = Path.Combine(dtsxFilesDirectory, dtsFileName);
     
                log.InfoFormat(dtsFilePath);
                try
                {
                    return dtsApplication.LoadPackage(dtsFilePath,null);   
                }
                catch(Exception exp)
                {
                    log.Error(exp.Message);
                    throw new Exception(exp.Message);
                }
     
            }
        }
    }

  2. #2
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    Peut être un élément de réponse... comment puis je savoir qui lance le dts?
    Le site est configuré comme étant widows authentified. J'imagine que si on lance un dts en synchrone, il récupère le user authentifié. Par contre, comme il s'agit d'un nouveau thread, je perds tout le context http...

    Il prend l'authentification de qui ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/04/2008, 16h42
  2. [C#]théorie appel asynchrone
    Par ddoc dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/05/2006, 15h43
  3. Appel Asynchrone/Synchrone
    Par Dry dans le forum CORBA
    Réponses: 3
    Dernier message: 26/04/2005, 20h43
  4. [SOAP] API pour appels asynchrones
    Par Dar Shak dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/04/2005, 08h57
  5. appel dans des frames
    Par drizzt2511 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/01/2005, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo