小编Ale*_*jic的帖子

如果 Web 服务器不可用,自动重定向到静态错误站点

我正在阅读一篇有关使用计算引擎和云存储的热可恢复 Web 服务器的文章

正常情况:

正常情况

故障转移:

故障转移场景

文件指出:

发生中断时,您可以更新外部 HTTP(S) 负载平衡配置并故障转移到 Cloud Storage 中的静态站点。

外部 HTTP(S) 负载平衡配置的更改是否可以根据某些运行状况检查自动发生?例如,如果负载均衡器检测到部署在计算引擎上的网站停止响应,它会自动将流量重定向到 Cloud Storage 中的静态网站。一旦 Web 服务器再次开始工作,负载均衡器会自动将请求重定向回它。我怎样才能实现这个目标?

google-cloud-platform google-cloud-load-balancer

7
推荐指数
1
解决办法
807
查看次数

Web3j:从智能合约获取最后事件

我正在使用org.web3j (4.8.4)Java 11。我在 Kovan 网络上部署了一份智能合约。我想订阅调用后发出的所有新事件subscribe(...)。我对之前发出的事件不感兴趣。这是我当前的代码:

public void subscribeToEvents() throws Exception {
    String wssUrl = "wss://kovan.infura.io/ws/v3/TOKEN";
    String contractAddress = "0x123...";
    
    // initialize web socket service
    WebSocketService wss = new WebSocketService(wssUrl, false);
    try {
        wss.connect();
    } catch (Exception e) {
        System.out.println("Error while connecting to WSS service: " + e);
        throw e;
    }

    // build web3j client
    Web3j web3j = Web3j.build(wss);

    // create filter for contract events
    EthFilter filter = new EthFilter(DefaultBlockParameterName.EARLIEST, DefaultBlockParameterName.LATEST, contractAddress);

    // subscribe to …
Run Code Online (Sandbox Code Playgroud)

java ethereum smartcontracts web3-java

6
推荐指数
1
解决办法
3174
查看次数

如果 Docker 容器退出,GCP 会发出警报

我们正在使用 Google Cloud Platform 及其服务 Compute Engine。我们在一个虚拟机实例上安装了 Docker(它是 Compute Engine 的一部分)。我们可以在 GCP 监控中设置一个警报,以便在容器退出时触发吗?

docker google-cloud-platform docker-swarm google-cloud-monitoring

4
推荐指数
1
解决办法
971
查看次数

在_ViewStart.cshtml中定义全局变量

我们正在使用.NET Core 3.1. 我们想要定义一个全局变量(当前用户的电子邮件),_ViewStart.cshtml以便所有其他视图都可以访问它。通过这样做,我们的目的是避免重复的代码。

下面的代码:

@using System.Security.Claims
Your email: @User.FindFirstValue(MyClaimTypes.Email)
Run Code Online (Sandbox Code Playgroud)

可以用这个来代替:

Your email: @email
Run Code Online (Sandbox Code Playgroud)

我尝试_ViewStart.cshtml像这样定义电子邮件:

@{
    Layout = "_MyLayout";
    string email = "test@test.com";
}
Run Code Online (Sandbox Code Playgroud)

然后在以下位置访问它Index.cshtml

Your email: @email
Run Code Online (Sandbox Code Playgroud)

但它说

当前上下文中不存在名称“email”。

我们如何_ViewStart.cshtml从所有其他视图访问定义的变量?

c# asp.net-core-mvc asp.net-core-3.1

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

无法访问 Task.Run 中已处置的对象

我正在使用.NET Core 3.1。我想运行一些后台处理,而用户不必等待它完成(大约需要 1 分钟)。因此,我Task.Run这样使用:

public class MyController : Controller
{
    private readonly IMyService _myService;

    public MyController(IMyService myService)
    {
        _myService = myService;
    }

    public async Task<IActionResult> Create(...)
    {
        await _myService.CreatePostAsync(...);
        return View();
    }
}

public class MyService : IMyService
{
    private readonly MyDbContext _dbContext;
    private readonly IServiceScopeFactory _scopeFactory;

    public MyService(MyDbContext dbContext, IServiceScopeFactory scopeFactory)
    {
        _dbContext = dbContext;
        _scopeFactory = scopeFactory;
    }

    public async Task CreatePostAsync(Post post)
    {
        ...
        string username = GetUsername();
        DbContextOptions<MyDbContext> dbOptions = GetDbOptions(); …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework dependency-injection asp.net-core

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