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 :

[débutant]Utilisez une DLL avec ASP.Net


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut [débutant]Utilisez une DLL avec ASP.Net
    Bonjour,

    J'ai lu un tutoriel ASP.Net sur votre site et je n'arrive pas à implémenter cet exemple :

    (extrait)
    On sépare code VB et code HTML dans deux fichiers séparés. Le code VB est placé dans [heure5.aspx.vb] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Class heure5
    Inherits System.Web.UI.Page
    ' données de la page web à afficher
    Protected maintenant As String
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'on calcule les données de la page web
    maintenant = Date.Now.ToString("T")
    End Sub
    End Class

    Le code HTML est placé dans [heure5.aspx] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%@ Page Inherits="heure5" %>
    <html>
    <head>
    <title>Demo asp.net</title>
    </head>
    <body>
    Il est
    <% =maintenant %>
    </body>
    </html>
    Cette fois-ci, la directive [Page] n'indique plus le lien entre le code HTML et le code VB. Le serveur web n'a plus la possibilité de
    retrouver le code VB pour le compiler (absence de l'attribut src). C'est à nous de faire cette compilation (etc.)


    J'ai fait la compilation non pas sous DOS avec vpc (comme indiqué dans le tuto), mais sous CSharpDevelop dans une bibliothèque de classe qui m'a créé le fichier DLL, mais IIS ne l'accepte pas. Ça marche pour les autres exemples mais avec une dll, ça marche pas.

    Si vous savez, merci. Sinon, je ferai sans.

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut
    Salut,

    Ajoute dans ta balise page si le fichier vb se situe dans le même répertoire que ton code html.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Language="VB" AutoEventWireup="false" CodeFile="heure5
    .aspx.vb"
    Vérifie aussi que tu travailles pas dans un namespace si c'est le cas :
    Inherits="[namespace].heure5"

    Bon WE,

    L.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Merci de ta réponse, mais je cherche à utiliser une DLL de façon à cacher le code.

    Je sais qu'il existe 3 façons (même plus) d'utiliser un fichier aspx :
    - on met tout dans le même fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    ...
    </script>
    <html>
    ....
    </html>
    - on sépare en 2 fichiers : dans mon exemple, "heure5.aspx.vb" qui contient que du VB et "heure5.aspx" qui contient le HTML. Dans ce dernier, il ne faudra pas oublier de mettre ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page Language="VB" src="heure5.aspx.vb" Inherits="heure5" %>
    - Enfin, toujours 2 fichiers : "heure5.aspx" et "heure5.dll". Dans ce premier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page Language="VB" Inherits="heure5" %>
    Quant au second, il est le produit de la compilation de "heure5.aspx.vb"
    Voici comment on peut le compiler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vbc heure5.aspx.vb /target:library /out:heure5.dll /reference:System.Web.dll
    Après compilation, "heure5.aspx.vb" devient inutile pour l'utilisation.

    Voilà donc les 3 principales façons de procéder : les 2ères, j'y arrive, mais la 3ème, je n'y arrive pas. Un fichier "heure5.dll" est bien généré, mais il n'est pas reconnu. Voici l'erreur affiché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Parser Error Message: Could not load type 'heure5'.
     
    Source Error: 
     
     
    Line 1:  <%@ Page Language="vb" Inherits="heure5" %>
    Line 2:  <html>
    Line 3:  <head>

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonjour

    Si c'est seulement pour cacher le code, tu t'embêtes pour rien , il existe un tas de decompilateurs (exemple:Reflector) qui se feront un plaisir de décompiler ta DLL .


    Dans tous les cas bon courage

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Citation Envoyé par mafyoso
    Bonjour

    Si c'est seulement pour cacher le code, tu t'embêtes pour rien , il existe un tas de decompilateurs (exemple:Reflector) qui se feront un plaisir de décompiler ta DLL .


    Dans tous les cas bon courage
    Oui quand je me formais en VB.Net, j'ai appris çà : j'ai même téléchargé le(s) programme(s) en question.

    Sinon, le fait de le mettre en DLL, ça amène des avantages (performance), entre autres.

    Sinon, ah oui !
    Après 2 heures de bataillages, j'ai trouvé la solution : il faut mettre le fichier DLL dans un répertoire "bin". Donc ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe /r:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll" /t:library /out:bin\heure5.dll heure5.aspx.vb
    Mouarf !

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

Discussions similaires

  1. Garder une information avec ASP.NET
    Par paladice dans le forum ASP.NET
    Réponses: 6
    Dernier message: 02/06/2013, 14h22
  2. Réponses: 2
    Dernier message: 04/12/2009, 19h12
  3. Creer une dll avec VC++ .NET
    Par KindPlayer dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 27/05/2008, 14h48
  4. Connection à une base SQL Server 2005 avec ASP.NET en C#
    Par LaDeveloppeuse dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/05/2007, 10h29
  5. probleme d'une DLL avec une page asp
    Par aymane_farissi dans le forum ASP
    Réponses: 3
    Dernier message: 29/09/2005, 16h25

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