0

私は3つのプロジェクトでvsソリューションを持っています

MyCore: DAL、BLL、ヘルパー関数などを備えたクラスライブラリ...

MyWebsite:MyCoreを参照するasp.netWebサイト

MyApplication:MyCoreも参照するwpfアプリ

この設定により、Webサイトとアプリで同じ機能をすべて再利用できます。

唯一の問題は画像です。現在、私が保持しているすべてのアイコンは、Webサイト(およびそれらのURLからアクセス)とデスクトップアプリ(リソースとしてアクセス)に別々に保持されています

どういうわけかアイコンをMyCoreに保存して、両方のプロジェクトで使用できる方法はありますか?

何か案は?

お手数をおかけしますが、何卒よろしくお願い申し上げます。

4

1 に答える 1

1

簡単で簡単な方法は、すべての画像をリソースとして分離されたクラス(またはあなたの場合はMyCore)に配置することです(アクセス修飾子を公開します!)。

この時点で、HTTPHandlerをImageHandlerとして使用できます。これにより、リソースファイルの画像が「通常の」画像としてWebページにストリーミングされます。

public class ImageHandler : IHttpHandler
{
  public void ProcessRequest(HttpContext context)
  {
    context.Response.ContentType = "image/jpg";
    context.Response.Clear();

    Bitmap image = ClassLibrary1.Resource1._1346135638012;
    image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

  }

  public bool IsReusable
  {
    get
    {
        return false;
    }
   }
 }

getパラメータを使用して、ストリーミングする必要のある画像を特定できます。

<image src="./ImageHandler.ashx?ImageId=123" />

そして、もちろん、アプリケーションにもリソースを使用できます。

于 2012-10-14T13:48:07.557 に答える