我正在开发一个应该运行很长时间的应用程序,并通过ODP.NET广泛使用Oracle(11g)数据库.
但是,偶尔会发生一次(每2或3天),ODP.NET会抛出System.AccessViolationException,然后需要重新启动应用程序.这是我的堆栈跟踪:
Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Oracle.DataAccess.Client.OpsSql.Prepare2(IntPtr opsConCtx, IntPtr& opsErrCtx, IntPtr& opsSqlCtx, IntPtr& opsDacCtx, OpoSqlValCtx*& pOpoSqlValCtx, string pCommandText, IntPtr& pUTF8CommandText, OpoMetValCtx*& pOpoMetValCtx, Int32 prmCnt)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonquery()
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪的其余部分不时不同,并且是指来自我的应用程序的内部调用.
现在,我在问这里之前做了相当多的研究,但我没有找到任何结论.许多其他人显然遇到了同样的问题,尽管根本原因似乎变化很大.我真的希望有人能为这个解决方案:-)
在一个不相关的说明中,似乎这个异常能够忽略我的catch {}块并导致每次发生时应用程序崩溃.那是因为它与内存损坏问题有关吗?
此致,安德烈
编辑:进一步的调查让我相信它可能值得启动"分布式事务协调器"服务,看看是否停止抛出异常.你怎么看?
我需要向分布式应用程序网络发送相同的随机数序列.
由于这样的序列可能很长,我在考虑只发送一个(随机生成的)集中种子初始化数和所需序列的长度.
鉴于接收手上的每个组件都将使用相同的.NET版本,那么在我的所有节点上生成相同的随机数据是否可行?
我知道可以注册到 AppDomain.AssemblyResolve 事件来处理在自动 CLR 搜索失败时加载程序集的尝试。
在我当前的项目中,通过这种机制处理所有程序集加载会很有帮助;有没有办法做到这一点?
一个(丑陋的)解决方法是将可执行文件移动到一个单独的目录中,并让所有内容都由 AssemblyResolve 委托处理;我希望有一个更清洁的解决方案。
问候, 安德里亚
即使在数据中心问题的情况下,部署Windows Azure网站以确保最大可用性的正确方法是什么?
由于在过去6小时内影响西欧网站的持续"部分服务中断",我在写作时面临服务中断.
如果我的Web端点可能会死在我的客户身上,那么设置冗余数据库实例(以及真正的冗余)是没有意义的.我已经证实,在这种情况下,增加实例数并不能真正提高Azure网站的健壮性.
有什么建议?
我需要将一个MATLAB .mat文件转换成可以从R读取的东西.你知道一些可以用来执行这种操作的工具吗?
.mat文件包含单元矩阵和结构矩阵.
在我当前的项目中,我们有几个代码生成器例程来帮助我们完成一些无需动脑筋的任务。从技术角度来看,一切都运行良好,因此这可能更多是出于好奇,而不是真正的问题:当我打开新生成的一段代码时,它(当然)没有正确缩进(尽管语法上是正确的)。
现在的问题是:是否有一个 API 可以用来缩进一段 C# 代码?Ctrl就像我在 VS2010 中使用快捷键+E时发生的情况一样D。
只是为了澄清一下,我正在寻找这样的功能:
string GetProperlyFormattedCode(string notFormattedCode);
Run Code Online (Sandbox Code Playgroud)
其中notFormattedCode
是一段有效的 C# 源代码,函数的输出是应用格式化规则后的相同代码。换句话说,我正在寻找 Visual Studio 的“编辑 -> 高级 -> 格式选择”命令背后的功能。
我正在使用Winforms开发GUI.大多数测试计算机上的一切看起来都很好(例如,UI以相同的方式显示,因此显示在开发GUI的电脑上).但是,在一台笔记本电脑上,会发生几个元素无法正确显示(尺寸错误或重绘问题).
我用完了测试来弄清楚我们可能出错了什么; 所有计算机都以各种屏幕分辨率运行Windows 7.
我正在使用Infragistics组件来构建UI.有什么想法吗?
编辑:一些例子.在"损坏的"笔记本电脑上,某些选项卡(UltraWinTab的一部分)无效,并且在最小化/恢复命令后不重绘,您只获得选项卡的背景但没有组件.
其他一些控件莫名其妙地以更小的尺寸绘制(而不是填充区域,我得到大的空底和右边的乐队).
c# ×4
azure ×1
clr ×1
indentation ×1
infragistics ×1
matlab ×1
oracle ×1
r ×1
random ×1
random-seed ×1
winforms ×1