powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с показом рисунков
1 сообщений из 1, страница 1 из 1
Проблема с показом рисунков
    #34026127
Andrew_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Показываю рисунки через базу с помощью хэндлера. Однако при показе на странице нескольких картинок -- не все они прорисовываются. Что делать с этим?
Привожу код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;

public class Image : IHttpHandler
{

    #region WorkWithConnection

    private void CloseSqlConnection(SqlConnection conn)
    {
        if (conn.State == ConnectionState.Open)
        {
            conn.Close();
        }

    }

    private void OpenSqlConnection(SqlConnection conn)
    {
        if (conn.State == ConnectionState.Closed)
        {
            conn.Open();
        }
    }

    #endregion

    private static bool _isExec = false;
    public static bool IsExec
    {
        get
        {
            return _isExec;
        }
        set
        {
            _isExec = value;
        }
    }
    //Свойство, указывающее на то, может ли класс вызываться без повторной инициализации
    bool IHttpHandler.IsReusable
    {
        get
        {
            return true;
        }
    }

    //Метод ProcessRequest, выполняющий обработку запроса
    void IHttpHandler.ProcessRequest(HttpContext context)
    {
        if (!IsExec)
        {
            lock (this)
            {
                try
                {
                    IsExec = true;
                    //Получаем значение идентификатора картинки
                    int id = Int32.Parse(context.Request.QueryString["ID"]);
                    //Создаем подключение к БД 

                    //SqlCommand myCmd = new SqlCommand("select image from ImagesHTML where id = @id", Connection.SqlConn);
                    string strSQL = "viewImage";
                    SqlCommand myCmd = new SqlCommand(strSQL, Connection.SqlConn);

                    myCmd.CommandType = CommandType.StoredProcedure;
                    myCmd.Parameters.Add("id", SqlDbType.Int).Value = id;

                    OpenSqlConnection(myCmd.Connection);

                    using (SqlDataReader rdr = myCmd.ExecuteReader(CommandBehavior.CloseConnection))
                    {
                        // Проверка на существование записи
                        if (rdr.Read())
                            // пишем содержимое картинки клиенту.
                            context.Response.BinaryWrite(rdr.GetSqlBinary( 0 ).Value);
                    }
                }
                catch (Exception ex)
                {
                    //throw new Exception(err.Message);
                    context.Response.Write(ex.Message);
                }
                finally
                {
                    CloseSqlConnection(Connection.SqlConn);
                    IsExec = false;
                }  
            }
        }
    }//Подключение к БД закрыто
}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с показом рисунков
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]