Announcement

Collapse
No announcement yet.

Nutzen von LinQToSQL in einem generischen Handler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nutzen von LinQToSQL in einem generischen Handler

    Hallo zur frühen Stunde,

    ich habe eine ASP.Net Webseite, zu der ebenfalls eine Datenbank gehört und die entsprechende Verweise auf ein anderes Projekt, welches LinQToSQL Wrapper-Klassen beinhaltet.

    Nun dachte ich mir, dass ich in einem generischen Handler doch einfach mittels LinQ ein Bild aus der Datenbank holen kann und als Bild mit entsprechendem MIME-Typen zurückgeben kann, um das ganze an die ImageSource-Eigenschaft eines Image-Objektes zuzuweisen.

    Allerdings kann ich keine Using-Direktiven auf den Namespace System.Linq setzen und damit fallen natürlich gleich erst einmal alle Erweiterungsmethoden raus.

    Der Fehler beim Erstellen der Seite lautet simpel:
    Der Typ- oder Namespacename Linq ist im Namespace System nicht vorhanden. (Fehlt ein Assemblyverweis?)

    Hier nun also mein kleiner HTTPHander:

    [highlight=c#]
    <%@ WebHandler Language="C#" Class="ImageHandler"%>

    using System;
    using System.IO;
    using System.Linq;
    using System.Web;
    using Myst.UR.Website.Data; // Hier sind die entsprechenden LinQ Klassen drin

    public class ImageHandler : IHttpHandler
    {
    public void ProcessRequest(HttpContext context)
    {
    //DatenklassenDataContext myContext = new DatenklassenDataContext();

    //Int32 id = Int32.Parse(context.Request.QueryString["id"]);

    //Partner selectedPartner = myContext.Partner.First(asd => asd.ID == id);

    //if (selectedPartner == null)
    // throw new Exception("Der Partner mit der übergebenen ID konnte nicht gefunden werden");

    //MemoryStream memoryStream = new MemoryStream(selectedPartner.Image);
    //memoryStream.WriteTo(context.Response.OutputStream );
    //memoryStream.Close();
    }

    public bool IsReusable
    {
    get
    {
    return false;
    }
    }
    }
    [/highlight]

    Die Verweise habe ich eigentlich auf normalem Wege durch das Kontextmenü hinzugefügt. Sie tauchen daher auch in der Web.Config auf:

    HTML Code:
    <assemblies>
       <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
       <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>
    Ich habe das ganze im Schnelldurchlauf nachträglich auf einer ASP.Net Webanwendung getestet und dort funktionierte es. Ich gehe also davon aus, dass mir evtl. Page-Direktiven fehlen, oder die web.config in irgendeiner Form fehlerhaft ist.

    Über eine Idee, die zur Lösung führen könnte, wäre ich sehr dankbar.
    Zuletzt editiert von Myst; 29.06.2010, 02:37. Reason: Hübscheres Syntax Highlighting gefunden
Working...
X