“/”应用程序中的服务器错误。引发类型为“System.OutOfMemoryException”的异常。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“/”应用程序中的服务器错误。引发类型为“System.OutOfMemoryException”的异常。相关的知识,希望对你有一定的参考价值。
1.首先排除病毒原因,使用杀毒软件,比如最新版本的360杀毒快速查杀3-5分钟,根据检查结果,点击立即处理。2.如果应用程序出错的提示是缺少某个文件,那就可能是这个文件损坏,根据这个组件查询是哪个系统组件损坏,重新安装相关组件,恢复程序文件,一般即可解决。
3.若是相关软件自身的组件缺失,只需要重新安装这个软件即可。比如运行迅雷时提示缺少某个文件,可以尝试重新安装迅雷。
4.若以上方法无效,可能是软件之间的冲突导致出错。解决办法是尝试关闭几个无关的正在运行的应用程序,看看错误是否还会重现。若已解决,就知道是哪两个软件冲突,不再同时运行这两个软件即可解决。或者向厂商反馈故障,督促厂商升级解决。如果不清楚是哪几个软件冲突,可行的解决办法是使用360安全卫士的系统优化,在一键优化里,关闭一些不常用的软件启动。这样开机后运行的程序少一些,冲突的概率会下降。
5.对于另一种应用程序出错,截图显示“应用程序出错,**内存地址不能读或不能写”,这种情况最复杂,若以上方法不能解决,则很可能是硬件(主要是内存)故障,可能是兼容性不良,只能联系硬件供应商修理。或者重装系统,重装后短时间内可能会有效。 参考技术A 重做系统 。~!
向身份服务器发送结束会话请求会引发错误
【中文标题】向身份服务器发送结束会话请求会引发错误【英文标题】:sending endsession request to identityserver throws error 【发布时间】:2020-11-12 15:05:10 【问题描述】:我有一个框架 4.7.2 的 ASP.NET MVC 应用程序。应用程序配置为使用 OpenIDConnect 使用 IdentityServer3。当用户单击注销按钮时,将调用以下代码
操作方法首先调用注销操作方法。
[HttpPost]
public ActionResult Logout()
Session.Clear();
if (Request.IsAuthenticated)
Request.GetOwinContext().Authentication.SignOut();
return Redirect("/");
在 Owin Startup.cs
我已经配置了 OpenIDConnect。接下来会触发 RedirectToIdentityProvider
事件。
这里我设置IdTokenHint
当RequestType为Logout时。
public partial class Startup
public void Configuration(IAppBuilder app)
var cookieOptions = new CookieAuthenticationOptions
AuthenticationType = "Cookies",
LoginPath = new Microsoft.Owin.PathString("/Home"),
SlidingExpiration = true,
ExpireTimeSpan = GetCookieExpiration()
;
var openIdOptions = new OpenIdConnectAuthenticationOptions
Authority = ConfigurationManager.AppSettings["id:Authority"],
Scope = "openid email profile",
ClientId = "My ClientId",
RedirectUri = "http://localhost:58641/Home",
ResponseType = "id_token",
SignInAsAuthenticationType = "Cookies",
UseTokenLifetime = false,
Notifications = new OpenIdConnectAuthenticationNotifications
SecurityTokenValidated = (context) =>
//code here removed for brevity
return Task.FromResult(0);
,
RedirectToIdentityProvider = (context) =>
if (context.ProtocolMessage.RequestType == Microsoft.IdentityModel.Protocols.OpenIdConnectRequestType.LogoutRequest)
var idTokenHint = context.OwinContext.Authentication.User.FindFirst("id_token").Value;
context.ProtocolMessage.IdTokenHint = idTokenHint;
return Task.FromResult(0);
;
app.UseCookieAuthentication(cookieOptions);
app.UseOpenIdConnectAuthentication(openIdOptions);
MvcHandler.DisableMvcResponseHeader = true;
我看到它在打电话
/identity/connect/endsession?id_token_hint= xxxxxxxx
但是,它使用的 HTTP 动词
是OPTIONS
。所以 IdentityServer 抛出错误The requested resource does not support http method 'OPTIONS'
不确定我在这里缺少什么。
编辑 1
在浏览器控制台中我看到以下错误
访问 XMLHttpRequest 在 'https://localhost:44300/identity/connect/endsession?id_token_hint=xxxxxxx' (从 'http://localhost:58641/account/logout' 重定向) “http://localhost:58641”已被 CORS 策略阻止:响应 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
编辑 2
我有另一个具有相同注销代码的 ASP.NET 应用程序。但它发出GET
请求结束会话。
【问题讨论】:
您是否更改了 IdServer 中的 web.config 文件以允许使用 OPTIONS 方法?应该有一个类似的条目: 我认为这将是一个黑客。客户端首先不应该使用OPTIONS
动词。
【参考方案1】:
当您看到 OPTIONS 的使用并且请求包含原始标头时,这就是 CORS 预检请求。这是一个额外的安全请求,当JavaScript 客户端尝试向 API 发出 AJAX 请求。
这是为了触发 JavaScript 的结束会话吗?如果是这样,您需要在 identityServer 集中该客户端:
AllowedCorsOrigins =
"https://localhost:xxxxx"
,
这是在 IdentityServer 中为每个客户端设置的。
【讨论】:
以上是关于“/”应用程序中的服务器错误。引发类型为“System.OutOfMemoryException”的异常。的主要内容,如果未能解决你的问题,请参考以下文章
引用 SQL 数据库项目 (SQLCLR) 引发“找不到类型或命名空间”错误
Azure 函数中的 Az.Functions 模块引发错误
PHP ZipArchive中的PDF引发错误,服务器权限[关闭]
c++错误0x... 处(位于... .exe 中)引发的异常: 0xC0000005: 读取位置 0x...时发生访问冲突?