0

我有 3 个项目的 vs 解决方案

MyCore:具有 DAL、BLL、辅助函数等的类库...

MyWebsite:引用 MyCore 的 asp.net 网站

MyApplication:也引用 MyCore 的 wpf 应用程序

此设置允许我在网站和应用程序中重用所有相同的功能。

唯一的问题是图像。现在我在网站中单独保存的所有图标(并通过它们的 url 访问)以及桌面应用程序(作为资源访问)

有什么办法可以以某种方式将图标存储在 MyCore 中并在两个项目中使用它们?

有任何想法吗?

非常感谢大家的时间和耐心

4

1 回答 1

1

一种简单而严格的方法是将所有图像放在一个单独的类中(或者在您的情况下在 MyCore 中)作为资源(将访问修饰符变为公共!)。

此时,您可以使用 HTTPHandler 作为 ImageHandler,它将您的资源文件的图像作为“普通”图像流式传输到您的网页,例如

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 回答