thamil arasan Ответов: 2

при использовании универсального дескриптора пространство имен не может непосредственно содержать элементы такие как поле или методы


<%@ WebHandler Language="C#" Class="FileCS" %>


using System;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
public class FileCS : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        int id = int.Parse(context.Request.QueryString["id"]);
        byte[] bytes;
        string contentType;
        string strConnString = ConfigurationManager.ConnectionStrings["VCRConnectionString"].ConnectionString;
        string name;
        using (SqlConnection con = new SqlConnection(strConnString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "select Name, Data, ContentType from Videos1 where id=@Id";
                cmd.Parameters.AddWithValue("@Id", id);
                cmd.Connection = con;
                con.Open();
                SqlDataReader sdr = cmd.ExecuteReader();
                sdr.Read();
                bytes = (byte[])sdr["Data"];
                contentType = sdr["ContentType"].ToString();
                name = sdr["Name"].ToString();
                con.Close();
            }
        }
        context.Response.Clear();
        context.Response.Buffer = true;
        context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name);
        context.Response.ContentType = contentType;
        context.Response.BinaryWrite(bytes);
        context.Response.End();
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

CHill60

Я не получаю сообщения об этой ошибке с вашим кодом. Вы поделились правильным кодом?

2 Ответов

Рейтинг:
2

F-ES Sitecore

Попробуй

using System;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;

namespace MyProject
{
    public class FileCS : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            // your code
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}


Возможно, вам придется обновить все, что относится к "FileCS", и сделать его относящимся к "MyProject".FileCS " вместо этого.


Рейтинг:
2

Member 12696609

Просто удалите файл. cs, который поставляется вместе с обработчиком, и добавьте код.