当我运行一个长操作时,我遇到来自IIS的请求超时.幕后我的ASP.NET应用程序正在处理数据,但正在处理的记录数量很大,因此操作需要很长时间.

但是,我认为IIS会话超时.这是IIS或ASP.NET会话的问题吗?

推荐答案

如果你想延长ASP允许的时间.NET脚本执行,然后增加Server.ScriptTimeout值.默认值为90秒.网络1.x和110秒.NET 2.0及更高版本.

例如:

// Increase script timeout for current page to five minutes
Server.ScriptTimeout = 300;

也可以在您的web.config文件的httpRuntime配置元素中配置此值:

<!-- Increase script timeout to five minutes -->
<httpRuntime executionTimeout="300" 
  ... other configuration attributes ...
/>

在此处输入图像描述

请注意,根据MSDN documentation:

"仅当编译中的调试属性

如果您已经这样做了,但发现您的会话即将到期,那么增加

例如:

// Increase session timeout to thirty minutes
Session.Timeout = 30;

也可以在您的web.config文件的sessionState配置元素中配置此值:

<configuration>
  <system.web>
    <sessionState 
      mode="InProc"
      cookieless="true"
      timeout="30" />
  </system.web>
</configuration>

如果您的脚本正在执行几分钟,并且有许多并发用户,那么考虑将页面更改为Asynchronous Page.这将提高应用程序的可伸缩性.

另一种 Select 是,如果您有管理员访问服务器,则将此长时间运行的操作视为实现作为计划任务或Windows服务的候选.

Asp.net相关问答推荐

try 在 .net 中使用 MS Graph 添加新的应用程序角色时出现 ODataError

Stimulsoft 没有在智能手机中显示正确的 pdf 字体

如何在 MVC 中为国家和州/省创建 Select 列表

如何防止 IISExpress 和我的网站文件夹弄乱我的文档文件夹?

如何在asp.net中单击按钮的新选项卡中打开页面?

.NET 站点如何隐藏其文件的 .aspx 扩展名?

在控制器 asp.net mvc 5 的视图上显示错误消息

无法加载文件或程序集'System.Web.WebPages.Razor,版本 = 3.0.0.0

Devexpress 或 Telerik Controls 比较

GridView 与嵌套类的属性绑定

在 ASP.NET 4.5 WebForms 中通过 bundle.config 与 BundleConfig.cs Bundle 资源

如何在 ASP.Net 网络表单中使用标签?

发布网站项目时临时路径太长

将查询参数绑定到 ASP.NET Core 中的模型

如何避免 ASP.NET MVC 中的 HttpRequestValidationException 呈现导致异常的相同视图

路由模板分隔符/不能连续出现 - 属性路由问题

Azure 网站 301 重定向 - 我应该把它放在哪里?

IISExpress 找不到使用 Visual Studio 2013 运行 localhost 的 ssl 页面

在后面的代码中删除 css 类

try 为 Medium Trust 开发是否会失败?