【问题标题】:StackExchange.Redis crashing .NET webapiStackExchange.Redis 崩溃 .NET webapi
【发布时间】:2021-07-24 04:29:54
【问题描述】:

我创建了一个新的 .Net core 3.1 web api,除了 StackExchange.Redis 之外没有其他依赖项。

在 StartUp.cs 中,我将连接设置为

public static ConnectionMultiplexer redis;
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
            redis = ConnectionMultiplexer.Connect("localhost"); ...

然后将密钥设置为

string value = "run at " + DateTime.Now.ToString();
IDatabase db = Startup.redis.GetDatabase();
db.StringSet("test_key", value, new System.TimeSpan(3, 0, 0));

这在我的开发环境中运行良好,但在生产环境中它崩溃了。我收到以下错误

Faulting application name: w3wp.exe, version: 10.0.14393.0, time stamp: 0x57899135
Faulting module name: coreclr.dll, version: 4.700.20.51601, time stamp: 0x5f89f166
Exception code: 0xc0000005
Fault offset: 0x00061471
Faulting process id: 0x2f008
Faulting application start time: 0x01d73e02dc5d058e
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\3.1.10\coreclr.dll
Report Id: 1104748b-7a7e-4e07-9302-a34883fada38
Faulting package full name: 
Faulting package-relative application ID: 

Redis 在生产和开发环境中运行良好。

【问题讨论】:

  • 哪里有异常?应用程序中是否有其他内容?我在那个崩溃报告中看不到任何特别指向任何东西的东西......
  • 该应用程序在我的开发环境中运行良好,并且在我发布后在我的本地 IIS 中也运行良好。但它在生产中崩溃。此应用程序没有其他任何内容。我刚刚做了一个 dotnet new,添加了 StackExchange.Redis 并添加了这 5 行。

标签: c# redis


【解决方案1】:

我将它编译为应用程序 dotnet publish . -o ..\publishedAPI -r win-x64

然后在我设置的池中Enable 32-bit application = False

它开始工作了..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2013-05-18
    • 2015-12-04
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多