3) Enfin dans ma Page aspx, je fais bien sûr le lien avec la miniature, du style :
Le résultat de tout ça, C quoi !?!?
A la génération, pas de pb, à l'exécution par contre ça donne ce put1 de message :
Message d'erreur de l'analyseur: Impossible de charger le type ImageHandler à partir de l'assembly System.Web, Version =1.0.5000.0, Culture= neutral, PublicKeyToken=b03f5f7f11d50a3a.
Erreur source:
Ligne 67 : </httpHandlers>-->
Ligne 68 : <httpHandlers>
Ligne 69 : Ligne 70 : path ="Image.axd"
Ligne 71 : type="ImageHandler" />
Si Quelqu'un peut m'aider parce que là franchement, ça commence à me courir sur le haricot et encore le mot est faible, ras la casquette pour rester poli, surtout que je pense que la solution n'est pas loin, Bordel !!!!
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 9 nov. 2006 à 12:51
Bonjour,
axd ? on utilise plutot l'extension ashx, axd ne fonctionnera pas, meme si dans ton cas le problème est pas la :-)
Tu as deux solutions pour créer un handler : la méthode rapide et pas trés propre et l'autre, la solution rapide consiste à créer un nouvel element dans ton projet web (create new file) de type handler ashx tu n'as pas besoin de le register dans le web.config, l'autre solution est de créer une assembly qui contient une classe implémentant IHttpHandler comme tu l'as fait. Dans ce cas il faut register le handler comme ca :
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 9 nov. 2006 à 14:21
Ou as tu créer ton handler ?
dans un autre projet de ta solution ? ou dans le dossier App_Code ? il faut obligatoirement que tu mettes ton code dans un de ces 2 dossiers pour qu'asp.net puisse compiler ton handler et ensuite l'utiliser
cs_yous
Messages postés136Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 avril 20091 9 nov. 2006 à 14:28
Mon Handler est en fait une classe qui implémente IHttpHandler. Je travaille avec VS 2003 et je ne peux donc pas ajouter d'Handler autrement. Il fait donc bien parti de mon app_code...
publicclassImageHandler : IHttpHandler
{
publicImageHandler()
{}
#region
IHttpHandler Members
public
bool
IsReusable
{
get
{
return
true
; }
}
public
void
ProcessRequest(HttpContext context)
{
//Récupère le chemin sur le disque
string
chemin = context.Server.MapPath("/societes_photos/");
//Concaténation du path au nom de l'image fournie par la query string
string
fichierImage =
string
.Concat(chemin, context.Request.QueryString["img"]);
//Est-ce que le fichier existe ?
if
(System.IO.File.Exists(fichierImage)==
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 9 nov. 2006 à 14:40
avec VS2003 il n'y a pas de dossier APP_Code ... Je me souviens plus comment cela fonctionne mais je te conseille grandement de rajouter un nouveau projet genre NomSiteWeb.Web tu créer différents dossier (Namespace) pour mettre au final ta classe dans le namespace
NomSiteWeb.Web.Handlers
puis dans le web.config tu fais type="NomSiteWeb.Web.Handlers.MonHandler, NomSiteWeb.Web" le deuxième argument (NomSiteWeb.Web) est le nom de l'assembly qui est pas défaut dans VS le nom du projet (et aussi le nom de la dll dans .dll)