如何在.net中找到NumLock,CapsLock和ScrollLock键的状态?
我需要根据它们的内容对某些对象进行排序(实际上根据它们的一个属性,这不是关键,可能在不同对象之间重复).
.NET提供了两个类(SortedDictionary和SortedList),并且都使用二叉树实现.它们之间的唯一区别是
我可以使用List实现我想要的,然后将其Sort()方法与IComparer的自定义实现一起使用,但它不会节省时间,因为每次我想要插入一个新对象时我会对整个List进行排序,而一个好的SortedList只会将项目插入正确的位置.
我需要的是一个带有RefreshPosition(int索引)的SortedList类,它只移动已更改(或插入)的对象,而不是每次内部对象更改时都使用整个列表.
我错过了一些明显的东西吗
我一直认为"throw"和"throw ex"之间的区别在于单独抛出并没有重置异常的堆栈跟踪.
不幸的是,这不是我正在经历的行为; 这是一个复制我的问题的简单示例:
using System;
using System.Text;
namespace testthrow2
{
class Program
{
static void Main(string[] args)
{
try
{
try
{
throw new Exception("line 14");
}
catch (Exception)
{
throw; // line 18
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这段代码能够从第14行开始打印一个callstack; 然而,callstack从第18行开始.当然,它在样本中没什么大不了的,但在我的实际应用中,丢失初始错误信息是非常痛苦的.
我错过了一些明显的东西吗 有没有其他方法来实现我想要的(即重新抛出异常而不丢失堆栈信息?)
我正在使用.net 3.5
有没有办法获得WCF连接的远程IP地址?
我想它没有内置到WCF框架中的原因是WCF可以使用非TCP/IP绑定,因此IP地址并不总是有意义的.
但是,这些信息对于所有广泛使用的绑定都是有意义的(据我所知:BasicHttp,DualHttp,WSHttp和NetTcp).
IP地址可能是使用反射访问的,但我宁愿找到一种记录的方法来获取它而不是入侵框架类.
我已经在Google上搜索了这个问题,似乎很多人在没有找到合适的解决方案的情况下遇到过这种情况(通常的答案是依赖于邮件头,但这意味着信任客户端提供其真实的IP地址,如果您出于安全原因要记录IP地址,则不能选择此选项)
我正在开发将使用clickonce(在网站foo.com上)部署的软件,然后使用带有加密传输的WCF连接到我的服务器
所以我需要一个SSL证书,它将:
我还希望我的SSL证书由公众所知的权限签名(即,firefox或windows不会要求用户首先安装权限证书!)
你会买什么SSL证书?
我浏览过Verisign网站,"安全网站EV"证书每年花费1150欧元("Pro"版本似乎只对旧版浏览器的兼容性有用)
现在,当用户想要退出我的应用程序时,我会做一些我必须做的事情(即断开与服务器的连接,保存用户数据......)然后我执行以下操作:
这需要几秒钟才能退出,并没有真正的用途(一切都已保存在服务器上,所以我真的不在乎那里发生了什么)
如果我使用它,我立即终止,没有任何我能想到的缺点:
System.Diagnostics.Process.GetCurrentProcess().Kill();
Run Code Online (Sandbox Code Playgroud)
为什么我不会终止我的进程并让CLR放弃AppDomain?
我知道小心处理你的共享资源(IO文件处理程序等)很重要(所以请不要回答:)),但一旦完成,是否真的有理由干净地退出我的应用程序?
在我的计算机上,环境变量%TMP%和%TEMP%都指向同一位置.
那些仅用于向后兼容性问题,还是存在真正的差异?
我有两种类型,T和U,我想知道是否从T到U定义了隐式强制转换运算符.
我知道IsAssignableFrom的存在,这不是我正在寻找的,因为它不涉及隐式转换.
一些谷歌搜索引导我到这个解决方案,但在作者自己的话这是丑陋的代码(它试图隐式转换,如果有异常则返回false,否则为true)
似乎测试是否存在具有正确签名的op_Implicit方法将不适用于基本类型.
是否有更简洁的方法来确定隐式转换运算符的存在?
我想为我的用户提供一个"高级"搜索引擎.我基本上有很多搜索条件可供选择:
总的来说,我有大约30多个标准可供选择
结果是我在网格中显示的数据集.
我在互联网上寻找灵感,甚至谷歌似乎也没有一个很好的高级搜索解决方案.
我过去曾设计过这种工具,虽然用户最终能够非常有效地使用它,但我对结果并不满意.
您是否认为搜索面板应始终可见(即显示在我的结果网格顶部)或以单独的形式提供(这样可以让我为所有控件使用更多位置)
您是否认为最好显示所有搜索条件,或者如果用户希望查看/使用更多条件,则让用户点击"高级"
你会如何组织标准?按使用频率,或者更确切地说按区域(即与用户,地点,时间等有关的标准)
我应该在哪里放置"搜索"按钮?旁边是更常见的搜索控件,还是底部或两者?
更一般地说,您是否有关于如何设计一个漂亮的搜索UI的技巧?在这种"高级"搜索引擎中,您通常会错过哪些功能?
我正在使用SQL-Server 2008和Visual Studio Database Edition.
使用此设置,保持模式同步非常简单.基本上,有一个"比较模式"工具,允许我将两个数据库和/或数据库模式的模式与源控制的创建脚本文件夹同步.
但是,就数据而言,情况不太清楚,数据可能有三种不同:
代码中引用的静态数据.典型示例:我的用户可以更改其设置,并将其配置存储在服务器上.但是,如果用户没有覆盖它,则每个设置都有一个系统范围的默认值.包含这些默认设置的表随着向程序添加更多选项而增长.这意味着在签入新功能/选项时,通常也会在数据库中创建系统范围的默认设置.
静态数据.例如.填充下拉列表的产品列表.该程序不依赖列表中特定产品的存在来工作.例如,这可以是在部署程序的新"unicode版本"时应该在生产中部署的unicode编码产品的列表.
其他数据,即其他所有数据(日志,用户帐户,用户数据等)
我觉得我的第三个项目不应该是源代码控制的(当然,它应该定期备份)
但关于静态数据,我想知道该怎么做.
我应该将插入脚本附加到创建脚本吗?或者可以使用单独的脚本?
我(作为开发人员)如何警告执行部署的人员应该执行insert语句?
我应该区分我的两种数据吗?(第一个通常由开发人员创建,而第二个通常由非开发人员创建)
您如何管理数据库静态数据?
.net ×6
c# ×4
capslock ×1
casting ×1
collections ×1
exception ×1
reflection ×1
sorting ×1
sql ×1
ssl ×1
stack-trace ×1
temp ×1
termination ×1
usability ×1
variables ×1
wcf ×1
wcf-binding ×1
windows ×1