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 :

Intégrer un ActiveX dans une page ASP.net


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Points : 50
    Points
    50
    Par défaut Intégrer un ActiveX dans une page ASP.net
    Bonjour,
    En fait, j'ai un probleme avec un activeX que j'ai creer moi même en C# (l'activeX permet de lire une chaine à partir d'un fichier qui se trouve dans le PC du client légé).

    l'activeX fonctionnent correctement dans une page HTML standard tandis que quand je veux l'inclure dans une page ASP.net une erreur se declenche.

    Le fichier attaché ci dessous montre l'erreur et le code que j'utilise pour instancier mon ActiveX en ASP.NET.

    Voici le code Html qui fonctionne correctement :

    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
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    	<title>Mon ActiveX</title> 
    </head>
     
     
    <script type="text/javascript">
     
    		var myAx = new ActiveXObject("MonProjet.ActiveX");
     
    		function myload(){			
    			try
    			{
    			alert("T1");
    				document.getElementById("monInputId").value = "";
    				if (myAx == null)
    				{
    					alert ("Failed ActiveX");
    				}
    				else
    				{	
    					var x = myAx.InitialiserLecteurBadge();		
    					document.getElementById("monInputId").value = x;
     
    				}
    			}
    			catch(e)
    			{
    				alert("Exception : "+ e);
    			}
    		}
     
    		f
    </script>
     
     
    <body>
     
    	<h1>ActiveX</h1>
    	<div id="axmsg"></div>
     
     
    	<form name="Formulaire" action=""> 
    		<input type="input" name="monInput" id="monInputId" /><br>
    		<input type="input" name="monInput2" id="monInputId2" /><br>
    		<input type="button" value = "Init" onclick="myload();"><br>
    	</form>
    </body>
     
    </html>
    Merci de m'aider sur le sujet.
    Images attachées Images attachées  

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Une petite précison : lorsque tu dis que ton active x fonctionne correctement sur ta page web, cela signifie lorsque tu l'exécute en vb script, c'est bien cela ?

    Si oui, dans ce cas, l'active x s'exécute avec tes privilèges, alors que lorsque tu le lance dans le code behind, il se lance avec les privililèges d'un compte ASP (en gros pas beaucoup de droit).
    Pour cela je te conseille d'essaye avec l'emprunt d'identité
    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
     
    Public Shared Function EmprunterIdentite(ByVal userName As String, _
        ByVal domain As String, ByVal password As String) As Boolean
     
            Dim tempWindowsIdentity As WindowsIdentity
            Dim token As IntPtr
            Dim tokenDuplicate As IntPtr
     
            If LogonUser(userName, domain, password, LOGON32_LOGON_INTERACTIVE, _
                         LOGON32_PROVIDER_DEFAULT, token) <> 0 Then
                If DuplicateToken(token, 2, tokenDuplicate) <> 0 Then
                    tempWindowsIdentity = New WindowsIdentity(tokenDuplicate)
                    impersonationContext = tempWindowsIdentity.Impersonate()
                    If impersonationContext Is Nothing Then
                        Return False
                    Else
                        Return True
                    End If
                Else
                    Return False
                End If
            Else
                Return False
            End If
        End Function

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Merci pour la réponse.
    En gros j'ai pas compri ta proposition (Je suis débutant en ActiveX)

    en fait pour repondre a tes question:
    Je n'utilise pas VB Script

    Dans ma page HTML j'utilise du javascript et j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var myAx = new ActiveXObject("MonProjet.ActiveX");
    pour instancier mon activeX

    tous marche bien

    parcontre quand j'inclus mon code javascript dans la page aspx.cs j'ai le message d'erreur (fichier joint)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    C'est moi qui n'avais pas compris la question .

    Mais, du coup, je ne vois pas pourquoi cela ne marche pas, mais je n'utilise pas cette version de Visual Studio non plus...

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Est ce que qu'elle qu'un peut m'aider sur le sujet.

    vous êtes mon seul espoir

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Une petite question, es tu sur que ton ActiveX est bien enregistré dans la base de registre ?

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Oui il est bien enregistré dans la base de registre de plus l'activeX fonctionne correctement dans une page HTML standard.

    le seul probléme c'est avec une pasge ASP.NET

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Enfin j'ai trouvé la solution .

    En fait, puisque l'activeX que j'ai crée n'est pas signé donc le navigateur IE ingore l'instanciation de l'objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myax = new ActiveXObject("MonProjet.ActiveX");
    Pour resoudre le probléme, il faut aller dans les paramétres de sécurité de IE (Outils/Option Internet/Sécurité/) et cliquer sur le bouton << Personnaliser le niveau >> selectionner l'entrée Contrôles d'initialisation et de script ActiveX non marqué comme securisés pour l'ecriture de script.

    Choisir le radio Activé.


    Merci pour tous les gens qui ont contribués dans le sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer animation flash dans une page asp.net
    Par Erazion dans le forum ASP.NET
    Réponses: 8
    Dernier message: 03/04/2008, 15h25
  2. Réponses: 5
    Dernier message: 11/10/2007, 19h11
  3. intégration de code javascript dans une page asp.net
    Par Je-cherche-pfe dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/09/2007, 17h10
  4. Réponses: 3
    Dernier message: 13/11/2006, 23h25
  5. Réponses: 1
    Dernier message: 04/04/2006, 11h29

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