Я написал код для переноса моей базы данных и сохранения его в cahce SqlCacheDependency в событии загрузки, и когда я хочу получить его, требуется много времени. База данных имеет двоичный файл var, и он большой
У меня есть кнопка для загрузкивсе в кеше.Я не знаю, почему требуется много времени, которое сохраняется в кеше?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Cache["ProductDbperPage"] == null)
{
Product Viewall = new Product();
Viewall.NumofRows = numNewValue;
DataSet ds = new DataSet();
ds = Viewall.ViewAllProduct();
SqlCacheDependency sqldependency = new SqlCacheDependency("ASPNETDB", "Product");
Cache.Insert("ProductDbperPage", ds, sqldependency);
}
} ```
Это для загрузки, когда я нажимаю кнопку:
if (Cache["ProductDbperPage"] != null)
{
DataSet ds = new DataSet();
ds = (DataSet)Cache["ProductDbperPage"];
DatalistImageProduct.DataSource = ds;
DatalistImageProduct.DataBind();
}
Product.cs:
public DataSet ViewAllProduct()
{
SqlConnection con = new SqlConnection(connection());
DataSet ds = new DataSet();
try
{
SqlCommand cmd = new SqlCommand("ViewAllProduct", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@status", true);
cmd.Parameters.AddWithValue("@num", NumofRows);
System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications
(connection());
System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications
(connection(), "Product");
//
System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications
(connection(), "tblimage");
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(ds);
return ds;
}
catch (Exception ex)
{
//throw;
return ds;
}
}
И эта хранимая процедура ALTER PROCEDURE [dbo]. [ViewAllProduct]
@status bit ,
@num int
AS
begin
SELECT Top(@num) tblimage.image,Product.Start_Date AS DateBefore,
Product.ProductName, Product.PUID
FROM tblimage INNER JOIN Product ON tblimage.PUID =
Product.PUID
where status=@status and tblimage.imageid=(select top 1 imageid from
tblimage where puid=Product.puid)
order by Product.Start_Date Desc
Веб-сайт выводит все изображения (varbinary (MAX)) и показывает их пользователю
end
Я хочу сделать это быстро Вы можете помочь мне