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 :

WebService ASP Utilisation de httpHandlers afin d'afficher une image stockée sur la machine


Sujet :

ASP.NET

  1. #1
    Membre habitué

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Février 2013
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 148
    Points : 199
    Points
    199
    Par défaut WebService ASP Utilisation de httpHandlers afin d'afficher une image stockée sur la machine
    Bonjour,

    Je coince avec les httpHandlers bien que j'ai saisi le concept (du moins je pense!).
    J'ai configuré mon web.config comme 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
     
    <?xml version="1.0"?>
     
    <configuration>
     
      <system.web>
        <compilation debug="true" targetFramework="4.5"/>
        <httpRuntime requestValidationMode="2.0"/>
        <pages validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
        <httpHandlers>
          <add verb="*" path="*.png" type="SymbolHandler"/>
        </httpHandlers>
      </system.web>
     
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
      </system.webServer>
     
    </configuration>
    et ma classe héritée de IHttpHandler :

    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
     
    public class SymbolHandler : IHttpHandler
    {
    	public SymbolHandler()
    	{
    	}
     
    	#region IHttpHandler Members
     
    	public bool IsReusable
    	{
    		get { return true; }
    	}
     
    	public void ProcessRequest(HttpContext context)
    	{
    		context.Response.ContentType = "image/png";
    		string imageFile = "C:/TMP/" + context.Request.QueryString["s"];
    		if (File.Exists(imageFile))
    		{
    			System.Drawing.Image img = System.Drawing.Image.FromFile(imageFile);
    			img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
    			img.Dispose();
    		}
    	}
     
    	#endregion
    }
    J’appelle le serveur à partir de l'url http://localhost:52598/symbols.axd?s=1-symbole.png mais j'ai une page blanche avec une connexion refusée.
    Avez-vous une idée du problème ?

    Merci pour votre aide

  2. #2
    Membre averti

    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 176
    Points : 310
    Points
    310
    Par défaut
    Salut,

    Pour attaquer ton handler, pour peu qu'il s'appelle Symbols, tu devrais plutôt faire une requête du type.

    http://localhost:52598/symbols.ashx?s=1-symbole.png

    Ne voulais tu pas plutôt faire un httpmodule qui soit éxecuté à chaque fois que ton site appelle une ressource .png ?

  3. #3
    Membre habitué

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Février 2013
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 148
    Points : 199
    Points
    199
    Par défaut
    Salut Arno et merci pour ton aide !

    Quel avantage aurais-je a utiliser un httpModule ?

    En fait j'ai un webService ASP qui tourne avec diverses méthodes publiques qui me renvoie donc toutes du xml.
    J'aimerais sur ce même webService pouvoir récupérer des images stockées sur la machine qui contient le webService.
    Je ne sais pas si je suis assez clair

  4. #4
    Membre habitué

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Février 2013
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 148
    Points : 199
    Points
    199
    Par défaut
    Bon j'ai trouvé, ça fonctionne avec un "Generic Handler" à la place d'un "ASP.NET Handler".
    Merci

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

Discussions similaires

  1. [MySQL] Afficher une image stocké en base données
    Par Blo0d4x3 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 19/06/2006, 17h02
  2. [MySQL] Afficher une image stockée dans une base de données
    Par LuckySoft dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2006, 12h57
  3. Afficher une image stockée en memoire
    Par romeo9423 dans le forum MFC
    Réponses: 5
    Dernier message: 29/07/2005, 23h00
  4. [Forms] Afficher une image stockée en base
    Par oramine dans le forum Forms
    Réponses: 12
    Dernier message: 01/02/2005, 14h14
  5. Afficher une image stockée dans interbase
    Par NicolasR dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/06/2004, 10h00

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