Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
776 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Modifications non prises en compte des .vb d'un site compilé asp.net

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifications non prises en compte des .vb d'un site compilé asp.net

n°1851652
moba86
Posté le 16-02-2009 à 11:05:59  profilanswer
 

Bonjour à tous,
 
Je vous explique le contexe. J'ai un site intranet (developpé par une petite boite), fait en DOTNET, à améliorer et
à debugguer.
Les fichiers qui sont intéressants sont .aspx (pour affichage) et .vb (qui contiennent des méthodes, fonctions...). Je peut apporter des
modifications aux fichiers .aspx mais pas avec les .vb quant je modifier le code des fichiers .vb les modifications ne sont pas prises en compte  :( .
Vraisemblablement vu que le site est déjà compilé, le code des fichiers .vb est stocké ailleurs (en « assemblies » qui sont des fichiers
binaires). Donc, je souhaite que les modifications des .vb soient prises en compte.  
 
Merci d'avance pour votre aide.
 

mood
Publicité
Posté le 16-02-2009 à 11:05:59  profilanswer
 

n°1851825
Tamino
master proxy 2 gates
Posté le 16-02-2009 à 17:20:02  profilanswer
 

En fait tu essayes de modifier à chaud les .vb et tu veux que ça prenne la modif en compte?  
Il y a peut être un mode de déploiement qui permet ça, mais tu peux pas plutôt recompiler ton site et redéployer les aspx et dll?

n°1851881
moi23372
Posté le 16-02-2009 à 20:34:16  profilanswer
 

tout dépend la structure de son site et de son déploiement.  
Soit tu as déployés ton site en faisant un "publish" dans visual studio. Dans ce cas, repasse par la même méthode pour redéployer ton site.  
 
Soit tu as simplement copiés les fichiers de ton site (.aspx et .vb) sur l'IIS. Dans ce cas la, tu peux en principe modifié à la volée les fichiers sans recompilé puisque le site est compilé à la volée par IIS si les fichiers ont été modifiés (en tout cas, en C# ça marche comme cela).


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1852103
moba86
Posté le 17-02-2009 à 12:15:36  profilanswer
 

D'abord merci pout vos reponses.
 
Voici quelque precisions, le site intranet est fait par une boite externe donc j'ai recuperé le code source de plus les fichiers source sont sur une machine virtuelle alors que Visual Studio 2005 est installé sur ma machine, donc je modifie les fichiers depuis ma machine et quand je teste je passe par IIS. J'ai fait un petit test en créant une page .aspx donc ya son aspx.vb qui est généré tout seul, là les modifs dans ce fichier sont bien prises en comptes alors que les modifs des .vb du code source n'ont aucun impact.  
 
PS: Pour répondre à moi23372 : le site est recompilé vu que je passe par IIS. J'ai vraiment l'impression que les .vb source servent à rien vu que l'appli continue à tourner meme en supprimant les .vb source.


Message édité par moba86 le 17-02-2009 à 16:24:15
n°1852252
moi23372
Posté le 17-02-2009 à 17:47:58  profilanswer
 

ces .vb font t'il partie d'une librairie (dll?)


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1852468
moba86
Posté le 18-02-2009 à 09:41:51  profilanswer
 

Non je ne sais pas (je suis vraiment debutant en .NET). En tout cas pour chaque toto.aspx j'ai au debut le code (<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/masters/main.Master" CodeBehind="toto.aspx.vb" Inherits="Myprojet.toto" %> )  y a son toto.aspx.vb dans le meme dossier.


Message édité par moba86 le 18-02-2009 à 11:26:20
n°1852512
Tamino
master proxy 2 gates
Posté le 18-02-2009 à 11:57:33  profilanswer
 

Ce modèle de déploiement (c'est à dire avec tte les sources) est rarement utilisé, justement pour pas que les sources soient distribuées. Ce qui est sur c'est que ton code va être compilé en une/des dll lors des premières requêtes sur ton site, la question c'est est-ce qu'asp.net recompile ces dll en cas de changement du source. Je ne sais pas, on dirait que non.  
 
Pour info un article sur les différents modèles de compilation/déploiement d'asp.net: http://msdn.microsoft.com/en-us/magazine/cc163675.aspx .
 

n°1852881
moba86
Posté le 19-02-2009 à 11:32:37  profilanswer
 

J'ai lu l'article que tu ma envoyé tamino et je te remercie. Dans l'artice il y a un paragraphe que je trouve particulierement interessant qui est :
 
"Well, it turns out that the original implementation of codebehind in ASP.NET 2.0 did exactly this—the codebehind class was just a partial class that was merged with the parsed .aspx file class definition. It was simple and effective, but unfortunately, not flexible enough. The problem with this model was that it was no longer possible to deploy the codebehind files in precompiled binary assemblies along with intact .aspx files since they now had to be compiled at the same time (a restriction when using partial classes is that all partial pieces of a class must be merged during a single compilation, and class definitions cannot span assemblies). This restriction was unacceptable to many developers as they were already used to being able to deploy binary codebehind assemblies along with intact .aspx files which could then be updated in place without having to recompile. This is, in fact, the exact model used by default in Visual Studio .NET 2003, and is thus very prevalent in practice."
 
Donc, il n'est pas possible de deployer les fichiers du codebehind (.vb) dans les assemblies. Mais je ne vois toujours pas comment modifier les fichiers .vb. J'ai l'impression que le site qui m'ont fourni est deja compilé et après ils ont simplement fait un copier coller des fichiers .vb. En tout cas il n'y plus de lien (voir 'CodeBehind') entre un fichier toto.aspx et son toto.aspx.vb vu que je peut meme supprimer le toto.aspx.vb et toto.aspx continue à fonctionner sans probleme.
 
Voilà un bout de code d'un fichier .aspx (la plupart des fichiers .aspx comment comme ce code):
 
<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/masters/mp_main.Master" CodeBehind="toto.aspx.vb" Inherits="ProjectName.toto"  
    title="toto list" %>
     
<%@ Register Assembly="ProjectName" Namespace="ProjectName" TagPrefix="ProjectName" %>
<%@ MasterType TypeName="ProjectName.mp_main"  %>
 
Je me demande si il n'y pas moyen de recompiler mon appli via le fichier web.config ou IIS pour que les modfis des .vb soient prises en compte. Ou peut etre que le site a été précompilé afin d'empêcher les modifs des fichiers source vu qu'on peut précompiler un site .NET de différentes manières.


Message édité par moba86 le 19-02-2009 à 12:11:40
n°1853558
moba86
Posté le 20-02-2009 à 17:04:08  profilanswer
 

C'est bon mon problème est résolu:
 
Cause: mauvaise configuration + problème de droit + ...
 
En tout cas merci à tous pour votre participation.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Modifications non prises en compte des .vb d'un site compilé asp.net

 

Sujets relatifs
Créer un espace membre dans un site de chat IRC?Soft developpement site internet
Insane Studio : votre avis sur le site !?Insane Studio : vos avis sur le site !
probleme mise en page de mon siteAvis sur communication d'un club de voile via un site
Pouvez-vous tester mon site svp ?valeur du site Internet Raid'IST
Parsing de site et GoogleAgenda[Web] Outil d'analyse de performances d'un site
Plus de sujets relatifs à : Modifications non prises en compte des .vb d'un site compilé asp.net


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR