我有一个按钮,已经有一个onclick事件和一个指定的功能.我希望在它前面添加另一个函数调用.我可以想象应该可以摆弄onclick属性(attr),但我不认为这是最佳实践.
您认为在现有onclick事件上添加函数调用的最佳做法是什么?
我有以下数据:

数字可以为NULL
我正在编写LINQ语句以获得以下数字:
需要的结果:290
我的LINQ语句目前看起来像这样:
(from b in data
where b.Number.HasValue
select new
{
Number = b.Number.Value,
b.Factor
}).Sum(o => o.Number * (o.Factor / 100));
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
转换为值类型'Decimal'失败,因为具体化值为null.结果类型的泛型参数或查询必须使用可空类型.
我正在 Azure 应用服务上运行 .NET Core Web 应用程序(应用服务计划配置为使用 S1)。它是稳定的。
然而,我最近对生产运行了一个自动化测试,它在几分钟内导致了数百个错误。此后,应用服务长时间不可用。
我知道应用程序服务基本上使用 IIS,并且我知道 IIS 中有一个设置可以在短时间内因出现太多错误而关闭应用程序服务。我假设这是对我的应用程序生效的设置。
我的问题是:即使短时间内发生许多错误,如何防止 Azure 关闭我的应用服务?
我试图让 Polly 在 3 秒后超时以及返回某些 http 代码时再次尝试。但是,直到 100 秒后 HttpClient 超时后才会超时。
这是我的代码:
private static Polly.Wrap.AsyncPolicyWrap<HttpResponseMessage> GetPolicy()
{
var timeoutPolicy = Policy.TimeoutAsync(3, Polly.Timeout.TimeoutStrategy.Optimistic);
var retryPolicy = Policy
.Handle<HttpRequestException>()
.OrResult<HttpResponseMessage>(r =>
r.StatusCode == HttpStatusCode.TooManyRequests ||
r.StatusCode == HttpStatusCode.ServiceUnavailable ||
r.StatusCode == HttpStatusCode.Forbidden)
.WaitAndRetryAsync(3, i => TimeSpan.FromSeconds(3));
var policy = retryPolicy.WrapAsync(timeoutPolicy);
return policy;
}
Run Code Online (Sandbox Code Playgroud)
更新
根据要求,这是我使用该策略的代码。
var pollyResponse = await GetPolicy().ExecuteAndCaptureAsync(() =>
httpClient.SendAsync(GetMessage(HttpMethod.Delete, endpoint))
);
Run Code Online (Sandbox Code Playgroud)
以及生成 HttpRequestMessage 的辅助方法:
private HttpRequestMessage GetMessage<T>(HttpMethod method, string endpoint, T content)
{
var message = new HttpRequestMessage
{ …Run Code Online (Sandbox Code Playgroud)