为什么人工提出的Transient Error异常被作为AggregateException处理?
当我尝试手动提高瞬态异常时,它总是以AggregateException的方式处理.由于将其处理为AggregateException,因此在我的重试策略中没有将其处理为瞬态错误,也没有用于预定义的重试计数. . 显示瞬态错误在这里. 因此,我尝试了CommunicationException和ServerErrorException,但它被作为骨料概括. 当我寻找ExcregateException时,它说"代表应用程序执行过程中发生的一个或多个错误".是的,这是如此有用!!! 这是我案件的示例代码: 我有一个使用ServiceBustransientRordeTectionstrategy 的重试政策 public void TestManually() { var retryPolicy = new RetryPolicy(RetryStrategy.Defa
2 2024-04-26
编程技术问答社区
在MVC中通过AJAX处理异常的最好和最简单的方法是什么?
我有一个MVC5项目,需要使用可用于所有控制器或操作方法的自定义方法来处理异常.为了解决问题,我找到了一些示例,如在ASP.NET MVC中的例外处理,并尝试使用遵循方法,如下所示: 自定义属性: public class MyErrorHandlerAttribute : FilterAttribute, IExceptionFilter { public void OnException(ExceptionContext filterContext) { filterContext.ExceptionHandled = true; filterContext.Result = new JsonResult { Data = new { success = false, error = filterContext.Exception.ToString() }, J
2 2024-04-26
编程技术问答社区
捕获服务器端的所有JavaScript客户端错误
我如何捕获客户端代码中发生的任何例外,例如chrome开发人员工具上的"暂停抓取例外"? 解决方案 我找到了解决方案! 我已经使用了C#和MVC. 添加一个新类以自定义您的JS文件捆绑包: public class CustomScriptBundle : ScriptBundle { public CustomScriptBundle(string virtualPath) : base(virtualPath) { Builder = new CustomScriptBundleBuilder(); } public CustomScriptBundle(string virtualPath, string cdnPath) : base(virtualPath, cdnPath) { Builder = new CustomScriptBundleBuilder();
2 2024-04-26
编程技术问答社区
Application_Errors异常处理,重定向无限循环和CSS加载问题
我在application_error事件的Globals.asax文件中有错误处理.在此事件中,我正在使用Response.Redirect(~errorview.aspx)方法,以重定向到网站,该网站能够以用户友好的方式处理错误. 一切正常,除非在application_start事件中例外增加.当那里发生错误时,我的应用程序会被application_error方法重复击中无限循环中.更重要的是,我正在重定向的页面永远不会受到打击.将Response.Redirect(~errorview.aspx)方法更改为Response.Redirect(~errorview.aspx, false)什么都没有改变. 好消息是,当Response.Redirect(~errorview.aspx)被Server.Transfer(~errorview.aspx)取代时,errorview.aspx页面会成功击中. 现在的副作用不是加载CSS,而errorView.aspx页
0 2024-04-26
编程技术问答社区
我在运行Blazor网站时出现了一个formlayout错误
我更新了Visual Studio 19,在此之前,我的网站准确地运行了我的意图.现在,当我加载主页时,我会遇到一个错误,但是随后断开它可以完成加载.我在下面提供了错误代码.我还会让您知道我已经看过这篇文章( ? Information: Normalizing '_blazor' to 'http://fakesite.com/_blazor'. Error: There was an unhandled exception on the current circuit, so this circuit will be terminated. For more details turn on detailed exceptions in 'CircuitOptions.DetailedErrors' Information: Connection disconnected. 实施汉克斯解决方案后的新错误 Error: Microsoft.JSInterop.JSE
6 2024-04-26
编程技术问答社区
为什么try {} catch{}在C#中不起作用?
我在Visual Studio中的程序中有一个try{} catch{}块.在try{}块中,我有连接到DB的代码,当我运行该程序时,它会返回错误.在这种情况下,程序必须执行catch{}块,但是从try{}块返回错误,并且程序停止. try { using (OracleConnection cn = new OracleConnection(DataBase.EDS_SDE_Connection)) { cn.Open(); using (OracleCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "EDS_FEAUTRE_CLASSES.DIS_ENA_TRG_LOG"; OracleParameter oParam = new OracleParameter("PISDIS
4 2024-04-25
编程技术问答社区
错误处理ASP.NET MVC
我正在进行错误处理(403、404、500).我做了ErrorController和Views: public class ErrorController : Controller { // GET: Error public ActionResult General(Exception exception) { return View("Exception", exception); } public ActionResult Http404() { return View(); } public ActionResult Http403() { return View(); } } 然后我在Global.asax.cs中写下以下代码: protected void Application_Error() { var excep
4 2024-04-25
编程技术问答社区
c# 插件事件处理
我编写了一个插件系统,该插件系统使用接口,适用于符合此合同的任何插件,将运行时加载到主系统中. 该插件有效地返回一个插入主应用程序的选项卡,并从插件DLL中控制. 如果插件内发生错误,则标准Windows错误消息显示.我想做的是创建一个返回错误消息的事件,以便我可以在保留给文本的区域中显示它. 我是否需要跟踪所有附加的插件/接口实例,才能设置一个事件以监视每个事件? 目前,我的系统通过应用程序文件夹中的DLL循环,与接口合同相遇的系统已加载,随着控件的实际实例,随着控件的实际实例被丢弃,然后通过按钮事件将控件移交给DLL,装有卡普普(TabPage)并在插件中处理. 我希望这一切都有意义. 解决方案 您不需要保留对插件类的参考,只需在启动活动时向事件添加一个委托,之后您不再需要参考. 其他解决方案 您可以在插件合同中添加一个事件: public interface IPlugin { event EventHandler
12 2024-04-25
编程技术问答社区
MVC 5 错误处理 Web.Config customErrors
我正在探索不同类型的错误处理,并试图设置自己的某些错误处理. 我的第一次尝试是在web.config文件中使用 customErrors extart.我设置了两个错误部分.一个用于 404 错误,另一个用于 403 .在我的一个控制器中,我设置了Response.StatusCode = 404;,邮递员将获得404的状态.但是,我的页面已备份,并且状态永远不会被抓住. 也许我缺少一些东西.以下是我的样本. 控制器: public ActionResult PostAuditReport() { Response.StatusCode = 404; return View(new PostAuditReportMessage { stage_directory = "PostAuditReport" }); } web.config:
2 2024-04-25
编程技术问答社区
处理异常与防止异常的发生--C#
我有一个asp:boundcolumn与datetime? ASP:GridView中的数据(我将其称为X列).我循环遍历网格中的所有行,然后将.TEXT属性投入到DateTime列(我需要进行检查并在需要时更改单元背景颜色). ). 我有2个选项: 将铸件包装在try/catch中...处理formatexception(如果列x在其中呈现一些垃圾)...仅与有效的dateTime值一起工作. 检查X列以确保它是 以正确的格式(如何?) 外壳,只有在格式为 好. 我应该采用哪种方法,为什么? 谢谢. P.S. 1个解释的上投票,可接受的TryParse答案 edit2:即使我使用了TryParse,我也没有选中接受的答案来保持讨论的进行. 我的"好数据"/"不良数据"比率约为2/1-这意味着很多不良输入 如果没有其他内容,我将在几天内重新敏感. 解决方案 您可以执行第二选项. datetime.tryparse可以提供帮助
4 2024-04-25
编程技术问答社区
什么是跟踪、识别和报告你的应用程序提出的每个'错误信息的有效方法?
在情况管理和工作流程系统中,这似乎会出现很多.需要在"系统"中提供每个业务消息的全面列表,并提供其可能的原因和纠正措施. 一个供应商的示例是Oracle:他们所有的错误都有一个命名约定(例如ORA-00237),他们已经记录了所有可能的ORA-XXXXX错误). 您如何在开发过程中"授权"这一点,而不会给团队造成不适当的负担吗?示例问题域将是软件,例如贷款申请,公司税务申请,确定应享权利计划的资格等. 解决方案 对于您自己的应用程序提出的错误,它是一种具有这样的错误消息的常见解决方案: create table errors ( error_no integer primary key , error_text varchar2(200) , error_cause varchar2(4000) , error_action varchar2(4000) ); 典型的条目可能是: insert into erro
0 2024-04-25
编程技术问答社区
用于错误处理的并行I/O和重试逻辑
通常并行处理仅与CPU密集型操作有关.但是,PLINQ专门使用fordegreeofarallelisl扩展提供了IO密集型支持.例如: from site in new[] { "www.albahari.com", "www.linqpad.net", "www.oreilly.com", "www.takeonit.com", "stackoverflow.com", "www.rebeccarey.com" } .AsParallel().WithDegreeOfParallelism(6) let p = new Ping().Send (site) select new { site, Result = p.Status, Time = p.RoundtripTime } 但是,如果支持io是支持io的目标进一步扩展或用于实现"重试"效应,这是IO操作的典型特征?那"延迟"效果呢? 例
16 2024-04-25
编程技术问答社区
ASP.NET MVC中的异步错误控制器
任何人都可以帮助我获得在ASP MVC中工作的异步错误控制器吗?我的一切都在没有异步的情况下起作用,但这似乎不是正确的.我开始的代码在下面: void Application_Error(object sender, EventArgs e) { Exception exception = Server.GetLastError(); // A good location for any error logging, otherwise, do it inside of the error controller. // Clear the error, otherwise, we will always get the default error page. Server.ClearError(); Response.Clear(); Response.TrySkipIisCusto
4 2024-04-25
编程技术问答社区
如何在WPF中显示未处理异常的堆栈跟踪报告
i使用此事件Handler捕获所有未手持的异常. public App() : base() { this.Dispatcher.UnhandledException += OnDispatcherUnhandledException; } void OnDispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { ... } 我想像此图片一样显示exeption的堆栈跟踪(错误消息除外): 我该怎么做? 解决方案 我可能不了解这个问题,因为据我所知,这似乎是一个简单的问题. Exception类上有一个StackTrace属性.您可以从该属性中获取堆栈跟踪: private void OnDispatcherU
4 2024-04-24
编程技术问答社区
ASP.NET网络应用程序中的错误记录
如果发生异常,则应将其记录到文本文件.并且应将用户重定向到向用户解释错误的页面. 我从哪里开始? 解决方案 我建议使用log4net. 很容易. 首先,在根文件夹中创建一个名为log4net.config的基本配置文件.这将在网络根外的日志文件夹中的日期命名的日志文件中记录错误.
4 2024-04-24
编程技术问答社区
MVC中Http错误405的自定义错误处理程序
我似乎无法弄清楚如何自定义处理此错误.我有这样定义的端点: [httpget] 公共ActionResult test(){...} 如果我尝试将其发布到此端点,它会抛出正确的HTTP 405错误.问题是我要提供一个自定义错误页面,而不是IIS默认页面.我已经尝试在global.asax中的application_error方法中闯入,但是它永远不会被调用,并且我尝试在web.config中添加章节,但无济于事. 有什么建议? 解决方案 您是否正在使用MVC3?如果是这样,请注意 public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); } 在您的global.asax. 中 此过滤器将捕获在控制器中抛出的任何例外,并将其作为500响应代码.
16 2024-04-24
编程技术问答社区
EasyNetQ-如何重试失败的邮件并在邮件正文/标题中持续保留RetryCount?
我正在使用EasyNetq,需要在原始队列上重试失败的消息.问题是:即使我成功地将trientCount变量(在每个味精的主体中)递增时,当EasyNetq在异常后将消息发布到默认错误队列时,更新的TrientCount不在MSG中!大概是因为它只是将原始消息转载到错误队列的情况下,而没有消费者的更改. 更新的TrientCount适用于过程中的重新发布,但在通过EasyNetq HosePipe或EasyNetq Management Client重新发布时不做.文本文件 hosepipe "> hosepipe没有尝试过的量. public interface IMsgHandler where T: class, IMessageType { Task InvokeMsgCallbackFunc(T msg); Func MsgCallbackFunc { get; set; } bool IsTryValid(T msg
8 2024-04-24
编程技术问答社区
什么是c# dll向调用程序返回错误的好方法?
我正在编写DLL,这是访问数据库的包装器.我通常是C#的新手. 我现在还不知道,除了可能做一些MSGBOX或投掷一些异常,但我不知道从哪里开始寻找.任何帮助或资源都将是有用的:) 谢谢〜 解决方案 您可能不想从DLL中显示消息对话框,这是客户端应用程序的作业,作为演示层的一部分. .NET库组件通常会在主机应用程序中冒出异常,因此这就是我要看的方法. public static class LibraryClass { public static void DoSomething(int positiveInteger) { if (positiveInteger
2 2024-04-23
编程技术问答社区
ASP.NET MVC如何处理来自Application_Error的404错误而不重写URL?
我创建了一个非常简单的ASP.NET MVC 5应用程序,我想从我的Application_Error中处理404个例外/net-mvc-how-how-to-a-a-eror-for-application-error-manage-them>这个问题 和 在其他答案中 .但是,当我尝试到达不存在的页面(并期望显示我的404页)我的自定义错误页面的源代码以纯文本显示!. 我不希望我的URL被重写为在这篇文章中 我的项目真的很简单.我刚刚添加到一个基本ASP.NET WebApplication with Razor: ErrorsController.cs 视图Http404.cshtml 和编辑Global.asax 如下所示: 项目组织: global.asax: public class MvcApplication : System.Web.HttpApplication { protected void Applicati
6 2024-04-23
编程技术问答社区
C#构造函数有2个参数,但声称它没有一个需要两个参数的构造函数
所以这是我的问题.我有一个名为登录名的类,该类将用于登录和创建帐户中的新日志. 我已经创建了一个没有参数的登录构造函数 public Login() { _gloID = 0; _Username = null; _Password = null; _Note = null; _Active = false; _Status = null; _gvoID = 0; _DateModified = new DateTime(1901, 1, 1); _ModifiedBy = 0; } 我还创建了一个登录构造函数,该构建器需要两个参数. 该构造函数获取用户名和密码,然后从数据库中收集其余信息. public Login(string username, string password) { // Declarations uint gloid = 0, gvoid = 0, mod
8 2024-04-23
编程技术问答社区