标签: timeout

尝试包装 2 个 Polly 策略时出现转换错误

我正在尝试包装两个 Polly 策略并想要返回IAsyncPolicy,但它给出了错误,

从 Polly.Retry.RetryPolicy < System.Net.Http.HttpResponseMessage> 转换为 Polly.IAsyncPolicy

public static IAsyncPolicy CreateDefaultRetryPolicy()
    {
        var timeoutPolicy = Policy.TimeoutAsync(TimeSpan.FromSeconds(180));

        var waitAndRetryPolicy = Polly.Policy
                .Handle<HttpRequestException>()
                .OrResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
                .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(3, retryAttempt)),
                (result, timeSpan, context) =>
                {
                });

        return Policy.WrapAsync(timeoutPolicy, waitAndRetryPolicy);
    }
Run Code Online (Sandbox Code Playgroud)

如何包装并返回?

c# timeout polly retry-logic policywrap

3
推荐指数
1
解决办法
1979
查看次数

MVC 5 中的扩展注销

根据用户的选择延长登录时间。

场景:ASP.NET MVC 5 Web 应用程序托管在 Azure WebApp 中,WebConfig 设置为在 60 分钟内没有向服务器发出任何请求时超时,如下所示

网络配置:

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="60" slidingExpiration="true" name="MYAUTHDV" cookieSameSite="None" requireSSL="true" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

在登录屏幕中,我们希望提供一个复选框,如果用户勾选它并登录,即使没有任何活动,网络应用程序也不应该在接下来的 12 小时内将其注销。

在此输入图像描述

到目前为止,我已经尝试在 _layoutpage.chtml 上运行一个 JavaScript 计时器,并在客户端及时注册一个本地存储时间值。JavaScript 计时器将每 20 分钟 ping 一次服务器以保持登录活动。由于浏览器、机器睡眠模式、硬盘关闭、互联网中断和其他未知原因等多种原因,这并不总是有效。还有一个我们必须克服的关于滑动过期与 JavaScript ping 的问题。https://learn。 microsoft.com/en-us/dotnet/api/system.web.security.formsauthentication.slidingexpiration?view=netframework-4.8 我也对涉及服务器处理的解决方案持开放态度。希望客户端解决方案能够减少对我们现有应用程序的修改。

javascript authentication timeout ping client-side

3
推荐指数
1
解决办法
444
查看次数

我可以给反应查询一个超时(秒或毫秒...),以便在该时间之后它停止网络请求吗?

我想使用react-query并发出网络请求。我想给我的请求一个超时时间,以便在该时间之后网络请求被放弃/超时。

我已通读 useQuery 文档,但似乎没有列出符合此要求的内容。

我可以用反应查询来做到这一点吗?如果没有,您还有什么建议?谢谢你!

timeout reactjs react-query

3
推荐指数
1
解决办法
2万
查看次数

Managment Studio和TableAdapter之间存储过程执行时间的巨大差异

如何通过Management Studio在10秒内运行存储过程,但是通过TableAdapter为相同的输入花费15分钟?它是可重复的,这意味着我在每个环境中至少运行了三次,而Management Studio的速度通常要快100倍.

我正在使用.net 2.0和SQL Server 2000

在SQL Server Management中,我正在执行它:

EXEC    [dbo].[uspMovesReportByRouteStep]
    @RouteStep = 12000,
    @RangeBegin = N'12/28/08',
    @RangeEnd = N'1/18/9'
Run Code Online (Sandbox Code Playgroud)

在TableAdapter中,我正在使用a StoredProcedure CommandTypedbo.uspMovesReportByRouteStepfor CommandText.我正在从ASP.NET页面调用表适配器,但如果我尝试在本地"预览数据",它会在30秒内超时.

提供存储过程是不切实际的,因为它超过100行,依赖于同一数据库和其他数据库上的许多其他UDF和视图.

所有其他存储过程似乎使用任一方法在大约相同的时间运行.这怎么可能?

.net sql-server stored-procedures timeout tableadapter

2
推荐指数
1
解决办法
2660
查看次数

c中的"看门狗"或沙盒系统

我有一个函数,我想允许运行一段给定的时间,然后,如果它没有自行退出,则中止.做这个的最好方式是什么?

我想到的最好的方法是在另一个线程中运行它,等待超时让它死掉然后用Thread.Abort()它来杀死它(如果函数有错误的catch块,这可能不起作用).另一种选择(一种我不知道如何工作的选择)将是某种先发制人的计时器.

有没有更好的办法?某种简单的沙箱系统?


编辑:我将要运行的功能没有任何系统来检查它是否应该取消,我不能(因为一定不能)添加它.此外,这是一个各种各样的测试工具,所以我将杀死该功能的条件是它已经运行了.在那种情况下,我不能指望它正确地做任何事情.

.net timeout sandbox

2
推荐指数
1
解决办法
2036
查看次数

在C++中使用connect()时设置超时

我在linux上使用c ++中的套接字连接到使用connect()的服务器,但它似乎没有超时值.什么是最简单/最好的方式给它几秒钟的超时.我将发布我所拥有的代码,包括对connect()的阻塞调用:

using namespace std;
int main( int argc, char* argv[] )
{
  // Interpret the command line arguments
  string uri_string = "";

  if ( argc != 2 )
  {
    cerr << "Usage: " << argv[0];
    cerr << " <URI>" << endl;
    return 1;
  }
  else
  {
    uri_string = argv[1];
  }

  // Create URI object and have it parse the uri_string
  URI *uri = URI::Parse(uri_string);

  if ( uri == NULL )
  {
    cerr << "Error: Cannot parse URI." << endl; …
Run Code Online (Sandbox Code Playgroud)

c++ sockets timeout

2
推荐指数
1
解决办法
2万
查看次数

如果数据开始加载但不是webViewDidFinishLoad,NSMutableURLRequest超时不会触发

我正在加载UIWebview并请求可能需要一些时间才能完成加载的URL.请求开始并开始接收数据.但是,请求似乎没有完成.webViewDidFinishLoad永远不会触发webView didFailLoadWithError:callback.

NSURLRequest的超时是否仅在没有响应接收数据时发生,或者如果请求在该时间间隔内没有完成则触发吗?

如果它是前者,是否有一个优雅的解决方案来超时请求?

相关代码是:

加载请求:

- (void) loadRequest { NSString *targetURL = @"http://myrequestUrl/"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString: targetURL] cachePolicy: NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 15.0] autorelease];

[request setHTTPBasicID: [[self credentialManager] userID] password:[[self credentialManager] password]];
[webView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: NO]; [alert hide]; [alert autorelease]; alert = nil; NSLog(@"error - %@", error); [self showRetryPrompt: error];
}

- (void) loadRequest { NSString *targetURL = @"http://myrequestUrl/"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] …

timeout uiwebview nsurlrequest

2
推荐指数
1
解决办法
3136
查看次数

手动定时C#线程

我需要为长时间运行的线程添加超时.我们遇到了一些外部问题,这些问题有时会导致该线程无限期地挂在某一行代码上.为了使我们的进程更健壮,我们希望检测到线程不再主动运行/轮询并中止线程.这将让我们清理资源并重新启动线程.

添加此功能的首选方法是什么?

c# multithreading timeout

2
推荐指数
1
解决办法
350
查看次数

ADO.NET的SqlCommand.CommandTimeout如何工作?

考虑一个存储过程,该过程在60秒内更新某些行而不使用事务.我们将ADO.NET的SqlCommand.Timeout设置为30秒.

SqlCommand.Timeout = 30;
Run Code Online (Sandbox Code Playgroud)

当超时发生在30秒时,存储过程是否会继续在数据库服务器中运行?服务器如何将此信息传达给客户端?

c# ado.net timeout

2
推荐指数
1
解决办法
2682
查看次数

如何从Perl CGI程序运行长后台进程?

我有一个长期运行的CGI和超时错误的问题:

超时等待CGI脚本的输出

客户端是jQuery编程的表单.用户输入一些数据并接收分析已启动的消息.除了在分析数据时带有链接的电子邮件之外,用户不希望看到更多消息.那么,此时,与客户端的连接已关闭,对吧?

在服务器端,Perl CGI脚本获取数据并执行一些C程序(使用Perl的系统)来分析它们.此过程可能需要几秒钟到几小时,具体取决于输入的数据.

然后,相同的CGI程序解析结果并向用户发送一封电子邮件,其中包含指向结果网页的链接.

因为对于某些数据,CGI可以运行几个小时我收到错误消息.

我假设增加ScriptTimeout是一个坏主意.我甚至不确定mod_cgi是否已安装.

我该怎么做才能避免这个错误?

服务器:在Mac OS X中运行的Apache2.

perl cgi timeout apache2

2
推荐指数
1
解决办法
8732
查看次数