<%@ WebHandler Language="C#" Class="wx_scanlogin_img" %> using System; using System.Web; using System.Net; using Tencent; using eMIS.Data; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; public class wx_scanlogin_img : IHttpHandler,System.Web.SessionState.IRequiresSessionState { public void ProcessRequest (HttpContext context) { string guid1= context.Request["guid"]; eDbManager manager = new eDbManager(eMIS.Data.WebConfigManager.DefaultDb); eDbOperator dbo = manager.CreateDbOperator(); string sql = "insert into xt_wx_scan_login(GUID1) values(?)"; dbo.ExecuteNonQuery(sql, guid1); string data = "http://here.sac-china.com/app_wx/wxscanLogin.ashx?guid=" + guid1; data= "http://here.sac-china.com/app_wx/wxscanAuth.aspx?guid=" + guid1; QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 5; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; System.Drawing.Bitmap img = qrCodeEncoder.Encode(data); System.IO.MemoryStream ms = new System.IO.MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Png); try { context.Response.ClearContent(); context.Response.ContentType = "image/Png"; context.Response.BinaryWrite(ms.ToArray()); } finally { img.Dispose(); } } public bool IsReusable { get { return false; } } }