我有3个项目的vs解决方案
MyCore:类库,包含DAL,BLL,辅助函数等...
MyWebsite: asp.net网站,其中引用了MyCore
MyApplication :也引用了MyCore的wpf应用
此设置允许我重复使用网站和应用中的所有相同功能。
唯一的问题是图像。现在我在网站上单独保存所有图标(并通过他们的网址访问)以及桌面应用程序(作为资源访问)
有什么方法可以以某种方式将图标存储在MyCore中并在两个项目中使用它们?
任何想法?
非常感谢你们的时间和耐心
答案 0 :(得分:1)
一种简单而直接的前进方式是将所有图像放在一个单独的类(或在MyCore中的情况下)作为Ressource(将访问修饰符转为公开!)。
此时您可以使用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" />
而且 - 当然 - 你也可以使用你的应用程序的ressoures。