gpt4 book ai didi

c# - 等待操作超时mvc

转载 作者:行者123 更新时间:2023-11-30 20:56:32 24 4
gpt4 key购买 nike

我有一个问题:如何处理asp.net MVC页面运行超时。在加载查询数据库 SQL Server 的页面时,它会加载产品。有时它说等待操作超时。如何处理。

最佳答案

为了避免在运行非常长的查询时出现等待操作超时异常,更改 SQL 命令属性并允许命令在调用超时之前等待更长时间。

using System;
using System.Data.SqlClient;
///
public class A {
///
public static void Main() {
string connectionString = "";
// Wait for 5 second delay in the command
string queryString = "waitfor delay '00:00:05'";
using (SqlConnection connection = new SqlConnection(connectionString)) {
connection.Open();
SqlCommand command = new SqlCommand(queryString, connection);
// Setting command timeout to 1 second
command.CommandTimeout = 1;
try {
command.ExecuteNonQuery();
}
catch (SqlException e) {
Console.WriteLine("Got expected SqlException due to command timeout ");
Console.WriteLine(e);
}
}
}

Linq to sql 查询的执行可能需要更长的时间并超过 DataContext 类的 CommandTimeout 属性的默认值。默认值为 30 秒。我们可以在每次创建 LINQ to SQL DataContext 对象和调用查询之前设置 CommandTimeout 的值。

 #region Constructors

/// <summary>
/// Initializes a new FrameworkEntities object using the connection string found in the 'FrameworkEntities' section of the application configuration file.
/// </summary>
public FrameworkEntities() : base("name=FrameworkEntities", "FrameworkEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
this.CommandTimeout = 300;
OnContextCreated();
}

/// <summary>
/// Initialize a new FrameworkEntities object.
/// </summary>
public FrameworkEntities(string connectionString) : base(connectionString, "FrameworkEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
this.CommandTimeout = 300;
OnContextCreated();
}

/// <summary>
/// Initialize a new FrameworkEntities object.
/// </summary>
public FrameworkEntities(EntityConnection connection) : base(connection, "FrameworkEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
this.CommandTimeout = 300;
OnContextCreated();
}

#endregion

关于c# - 等待操作超时mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com