找不到方法X509Chain.Dispose()

时间:2018-03-16 08:00:32

标签: c# .net asp.net-core .net-core iis-8

我的应用程序在本地环境中运行良好,但在生产服务器上不起作用。我得到了Exception" Method not found:' Void System.Security.Cryptography.X509Certificates.X509Chain.Dispose()'。"运行此代码时:

window.onclick= function(event){alert(event.target.id);}

这是我的日志文件:

using (var responseMessage = await _httpClient.SendAsync(requestMessage, HttpCompletionOption.ResponseHeadersRead, context.RequestAborted))
{
    context.Response.StatusCode = (int)responseMessage.StatusCode;
    var response = await responseMessage.Content.ReadAsStringAsync();
    context.Response.Headers.Remove("transfer-encoding");
    await responseMessage.Content.CopyToAsync(context.Response.Body);
}

这是我的project.json文件:

info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
  Request starting HTTP/1.1 GET http://myserver.com:8080/anything 
fail: Microsoft.AspNetCore.Server.Kestrel[13]
  Connection id "0HLCB1RVBIPJL": An unhandled exception was thrown by the application.
System.MissingMethodException: Method not found: 'Void System.Security.Cryptography.X509Certificates.X509Chain.Dispose()'.
at XControl.HttpRequestHandlerMiddleware.<ProcessRequestAsync>d__5.MoveNext() in C:\WorkingFolder\HttpRequestHandlerMiddleware.cs:line 168
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at XControl.HttpRequestHandlerMiddleware.<Invoke>d__4.MoveNext() in C:\WorkingFolder\HttpRequestHandlerMiddleware.cs:line 36
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at XControl.XControlMiddleware.<Invoke>d__2.MoveNext() in C:\WorkingFolder\Middleware.cs:line 22
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.<Invoke>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.<RequestProcessingAsync>d__2.MoveNext()
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
  Request finished in 2256.0938ms 500 

我的应用程序在IIS 8中运行,带有.NET Framework版本:无托管代码。

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:0)

解决方案是让Windows更新执行其任务并更新clr版本。