C# 我正在使用通用处理程序从数据库上载图像,该图像仅在用户登录时显示,但我还需要在登录页面上显示它,
我正在使用通用处理程序从数据库上载图像。该图像将显示只有当用户登录,但我需要显示在登录页面也。登录页中未显示图像,母版页中调用了处理程序源C# 我正在使用通用处理程序从数据库上载图像,该图像仅在用户登录时显示,但我还需要在登录页面上显示它,,c#,asp.net,C#,Asp.net,我正在使用通用处理程序从数据库上载图像。该图像将显示只有当用户登录,但我需要显示在登录页面也。登录页中未显示图像,母版页中调用了处理程序源 <img id="imgLogo" runat="server" src="ImageHandler.ashx" /> 这是通用处理程序代码 namespace EAAP { /// <summary> /// Summary description for ImageHandler //
<img id="imgLogo" runat="server" src="ImageHandler.ashx" />
这是通用处理程序代码
namespace EAAP
{
/// <summary>
/// Summary description for ImageHandler
/// </summary>
public class ImageHandler : IHttpHandler
{
string connectionString =ConfigurationManager.AppSettings["DSN"];
public void ProcessRequest(HttpContext ImagesContext)
{
try
{
SqlDataReader rdr = null;
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand("usp_GetImage"))
{
command.CommandType = CommandType.StoredProcedure;
connection.Open();
command.Connection = connection;
rdr = command.ExecuteReader();
while (rdr.Read())
{
ImagesContext.Response.ContentType = "Content";
ImagesContext.Response.BinaryWrite((byte[])rdr["Content"]);
}
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
名称空间EAAP
{
///
///ImageHandler的摘要说明
///
公共类ImageHandler:IHttpHandler
{
string connectionString=ConfigurationManager.AppSettings[“DSN”];
public void ProcessRequest(HttpContext-ImagesContext)
{
尝试
{
SqlDataReader rdr=null;
使用(SqlConnection连接=新的SqlConnection(connectionString))
{
使用(SqlCommand=newsqlcommand(“usp_GetImage”))
{
command.CommandType=CommandType.storedProcess;
connection.Open();
command.Connection=连接;
rdr=command.ExecuteReader();
while(rdr.Read())
{
ImagesContext.Response.ContentType=“Content”;
BinaryWrite((字节[])rdr[“内容”]);
}
}
}
}
捕获(例外情况除外)
{
例如Message.ToString();
}
}
公共布尔可重用
{
得到
{
返回false;
}
}
}
}
这称为母版页
<img id="imgLogo" runat="server" src="ImageHandler.ashx" />
将以下内容添加到
web.config
文件中:
<location path="ImageHandler.ashx">
<system.web>
<authorization>
<allow users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
我怀疑它不起作用,因为您尚未登录。首先要确保您的处理程序是否正在调用。如果没有,那么检查您的登录页面是否继承到母版页?然后让我知道.handler仅在用户登录时调用,母版页由登录页继承..所以登录页不在母版页中?好的,这意味着某种代码正在阻止在注销状态下调用处理程序。请确保您有任何支票阻止打电话给处理人。没有,我没有任何支票