Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我正在使用通用处理程序从数据库上载图像,该图像仅在用户登录时显示,但我还需要在登录页面上显示它,_C#_Asp.net - Fatal编程技术网

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仅在用户登录时调用,母版页由登录页继承..所以登录页不在母版页中?好的,这意味着某种代码正在阻止在注销状态下调用处理程序。请确保您有任何支票阻止打电话给处理人。没有,我没有任何支票