我试图在.net(c#)中添加一个未处理的异常处理程序,该处理程序对于'user'应该尽可能有用.最终用户大多是程序员,所以他们只需要暗示他们操纵错误的对象.
当应用程序崩溃时,我正在开发类似于Windows XP错误报告的窗口,但是尽可能多地提供关于抛出的异常的中间信息.
虽然堆栈跟踪使我(因为我有源代码)能够查明问题的根源,但是用户没有它,因此它们在没有进一步信息的情况下丢失.不用说我必须花很多时间来支持这个工具.
有一些系统异常,如Dictionary集合抛出的KeyNotFoundException,它真的让我感到烦恼,因为它们没有在消息中包含未找到的密钥.我可以使用大量的try catch块来填充我的代码,但它相当激进并且需要维护更多的代码,更不用说更多的字符串必须最终被本地化.
最后一个问题:有没有办法获得(在运行时)调用堆栈跟踪中每个函数的参数值?仅这一点就可以解决90%的支持电话.
这可能是一个有趣的问题.如果我能成功上传并获取PDF文件,我需要测试一下.这适用于基于文本的文件,但我只是想检查PDF.要运行此单元测试,我需要一个PDF文件.有几种选择.我可以创建一个虚拟PDF文件并将其存储在一些文件夹中并读取该文件并将文件保存到系统中.但现在,我的单元测试依赖于PDF文件.因此,运行单元测试的任何人都必须拥有有点不好的PDF文件.
另一种方法是创建一个PDF文件.这不是什么大问题,因为我可以简单地创建一个带有.pdf扩展名的虚拟文件,或者我甚至可以使用一些PDF第三方工具来创建PDF文件.
另一种方法是将PDF文档作为嵌入资源嵌入,然后从程序集中提取.
您认为处理此问题的最佳方法是什么?
我有一种情况需要使用LINQ的ExecuteCommand方法来运行插入.
类似的东西(为了这个问题的目的简化):
object[] oParams = { Guid.NewGuid(), rec.WebMethodID };
TransLogDataContext.ExecuteCommand (
"INSERT INTO dbo.Transaction_Log (ID, WebMethodID) VALUES ({0}, {1})",
oParams);
Run Code Online (Sandbox Code Playgroud)
问题是,这是否是SQL注入证明,参数化查询的方式相同?
我能够通过从IDictionary派生并定义一个私有的SyncRoot对象,在C#中实现一个线程安全的Dictionary:
public class SafeDictionary<TKey, TValue>: IDictionary<TKey, TValue>
{
private readonly object syncRoot = new object();
private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>();
public object SyncRoot
{
get { return syncRoot; }
}
public void Add(TKey key, TValue value)
{
lock (syncRoot)
{
d.Add(key, value);
}
}
// more IDictionary members...
}
Run Code Online (Sandbox Code Playgroud)
然后,我在整个消费者(多个线程)中锁定此SyncRoot对象:
例:
lock (m_MySharedDictionary.SyncRoot)
{
m_MySharedDictionary.Add(...);
}
Run Code Online (Sandbox Code Playgroud)
我能够使它工作,但这导致了一些丑陋的代码.我的问题是,是否有更好,更优雅的方式来实现线程安全的字典?
我有一个python脚本正在创建一个ODBC连接.使用连接字符串生成ODBC连接.在此连接字符串中,我必须包含此连接的用户名和密码.
是否有一种简单的方法可以隐藏文件中的密码(只是在我编辑文件时没有人能读取密码)?
我有一个初始化的数组,如:
Element[] array = {new Element(1), new Element(2), new Element(3)};
Run Code Online (Sandbox Code Playgroud)
我想将此数组转换为ArrayList类的对象.
ArrayList<Element> arraylist = ???;
Run Code Online (Sandbox Code Playgroud) 在低延迟交易应用程序中,我们非常清楚延迟问题.有些人担心,如果运行它的服务器改变PowerNow状态,我们的应用程序可能会遇到延迟增加的情况.
任何熟悉调用PowerNow的内核开发人员都会发生变化,操作使用了多少处理器时间以及延迟/延迟特性是什么样的?
Intel SpeedStep的相同信息很有用,但PowerNow是我们实际使用的.
谢谢!
当我进入一个远程生产服务器时,我希望我的终端窗口的颜色方案变成一些明亮可怕的颜色,最好是红色,以警告我,我正在触摸一个可怕的服务器.
我怎样才能让它自动检测到我在某个地方ssh'ed,如果某个地方在特定的列表上,改变颜色方案?
我想更新Terminal.app的Scheme,不知道如何在纯linux/unix环境中执行此操作
我刚刚开始为一家规模很大的公司工作,我的团队负责管理所有面向公众的网站.我今天第一次打开样式表,看到超过20个设计师使用语音家庭黑客修复IE错误的实例.(我不知道他们为什么允许图形设计师写任何类型的标记)
什么是语音家庭黑客的一般公众舆论.值得花时间推荐使用IE条件注释来包含自定义样式表吗?