System.AccessViolationException:尝试在 EF Core 的 SaveChangesAsync 方法中读取或写入受保护的内存

问题描述 投票:0回答:1

我正在使用 Azure Function 中的实体框架执行非常简单的

Insert
操作,但无法理解为什么会出现错误。以下是不同文件的代码片段:

LoggingMiddleware.cs

public class LoggingMiddleware : ILoggingMiddleware
{
    private readonly AppsContext _context;

    public LoggingMiddleware(AppsContext context)
    {
        _context = context;
    }

    public async Task LogRequestAsync(HttpContext httpContext)
    {
        try
        {
            var requestHeaders = string.Join(Environment.NewLine, httpContext.Request.Headers.Select(header => $"{header.Key} = {header.Value}"));
            using var reader = new StreamReader(httpContext.Request.Body);
            string requestBody = await reader.ReadToEndAsync();

            var httpRequestApiLog = new HttpRequestApiLog
            {
                Url = httpContext.Request.GetDisplayUrl(),
                RequestMethod = httpContext.Request.Method,
                RequestHeaders = requestHeaders,
                RequestBody = requestBody
            };

            _context.HttpRequestApiLogs.Add(httpRequestApiLog);
            await _context.SaveChangesAsync();
        }
        catch (Exception)
        {
            throw;
        }
    }
}

Azure 功能:

private readonly ILoggingMiddleware _loggingMiddleware;

public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
ILogger log)
{
    log.LogInformation("C# HTTP trigger function processed a request.");
    await _loggingMiddleware.LogRequestAsync(req.HttpContext);
    // Other lines of code
}

异常发生在行:

await _context.SaveChangesAsync();

下面的文件被打开,我不知道它在做什么并抛出异常。以下片段来自文件

SNINativeMethodWrapper.cs

我应该怎样做才能解决这个问题并让自己继续前进?两天来一直被这个问题困扰,并尝试了互联网上所有可能的答案。

enter image description here

c# azure-functions .net-6.0
1个回答
-1
投票

Socialpro 是一种简单快捷的方式来提升您的社交媒体形象。 只需选择套餐、付款,然后您的关注者数量就会增长! https://socialpro.uk/

© www.soinside.com 2019 - 2024. All rights reserved.