我有一个 ASP.NET 页面,我在其中呈现一些 HTML 标记,其中包括由另一个 asp.net 页面生成的条形码图像
<div id='divDynamic'>
<h1>Some content</h1>
<img src='barcode.aspx?mode=something' />
</div>
在barcode.aspx.cs中,我有:
protected void Page_Load(object sender, EventArgs e)
{
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1 ;
Response.Buffer = false;
Response.ContentType = "image/JPEG";
MemoryStream ms = new MemoryStream();
System.Drawing.Image objBitmap = GenCode128.Code128Rendering.MakeBarcodeImage(Request.QueryString["mode"] + "", 2,false );
objBitmap.Save(ms ,ImageFormat.Bmp);
Response.BinaryWrite(ms.GetBuffer());
Response.End();
}
我需要在许多类似的网站中使用相同的功能。所以现在我正在尝试将其转换为 WCF 服务,其中将生成 div“divDynamic”的标记并将其发送回客户端(一个 asp.net 网站)。我的服务有一个返回类型字符串的方法,它将返回 HTMLMarkup,如下所示
public string GetUSPSLabelMarkup()
{
StringBuilder strHtml = new StringBuilder();
strHtml.Append("<h1>Some content</h1>");
// How do I have the barcode image here?
return strHtml.ToString();
}
我想知道我应该如何在我的服务中使用上述方法中的图像生成部分?我相信 Response.BinaryWrite 不应该在这里工作。