我们正在创建一个了解某些命令行参数的应用程序.有一些默认的,我们想在调试时在命令行提供,这些都是容易在项目设置中设置如下解释.
视觉工作室将这些设置存储在*.csproj中.用户文件和集成源控件的默认设置不签入*.用户文件.在调试此项目时,我们希望在每个人的IDE中都有这些默认的命令行参数.
通常(但并非总是)当视觉工作室引导您以某种方式做事时,这是有充分理由的.我们可能不想只是登记某人的.csproj.用户文件......对吗?
这个问题有几个部分:
谢谢 -
我有兴趣优化一些大文件的散列(优化挂钟时间).I/O已经进行了足够的优化,I/O设备(本地SSD)仅以大约25%的容量进行分流,而其中一个CPU内核完全超出.
我有更多核心可用,将来可能会有更多核心.到目前为止,如果我碰巧需要同一个文件的多个哈希值,我只能使用更多内核,同时说MD5和SHA256.我可以使用相同的I/O流来提供两个或更多哈希算法,并且我可以免费获得更快的算法(就挂钟时间而言).据我了解大多数哈希算法,每个新位都会改变整个结果,而且并行地具有挑战性/不可能性.
是否有任何主流哈希算法可并行化?
是否存在可并行化的非主流哈希(并且至少具有可用的示例实现)?
由于未来的CPU将趋向于更多核心并且时钟速度趋于平稳,有没有办法提高文件散列的性能?(除了液氮冷却超频?)或者它本身是不可并行化的?
实际上将产品推向生产的程序员需要安装程序.(先发制人的"编程相关"理由.)
为了部署一套新的内部企业应用程序和服务,我正在尝试使用WIX和Visual Studio 2010附带的InstallShield Express版本.
我看过了,但还没有找到一个功能矩阵,突出了快递版中没有的功能.我希望WIX通常非常强大,但更难以使用,并且听说过WIX不能很好地支持的情况.
有没有人找到功能矩阵,或者有关于管理内部部署的长期最佳方法的其他建议?
除了我在维基百科上读到的内容之外,我对L33t语言并不吝啬.
我确实需要在我们的密码强度验证工具中添加一个字典检查,因为leet-speak只会给密码破解过程增加一些微不足道的开销,我想在对照字典进行检查之前对输入进行de-leet-ify .
为了澄清这背后的原因:当需要在其密码中添加符号时,许多用户只需对常用字进行一些非常可预测的leet替换,以满足数字和符号包含要求.因为它是如此可预测,所以仅仅使用原始字典单词就会增加密码的实际复杂性.\编辑
不知道所有的规则,特别是像"W"这样的多字符替换,并且确定这是一个已被多次解决的问题,包括开源项目.
我正在寻找代码示例,但到目前为止还没有找到.如果它是C#代码将是一个奖励!,但任何共同语言的代码将有所帮助.
此外,有一个可扩展的方法会很好,因为据我所知,这种方言很快就会发展.随着这些规则的发展,能够在一年内添加一些规则会很高兴.
不,这不是我整个密码强度检查的基础.这只是我在这篇文章中寻求帮助的部分.因此,我们不会被密码和安全问题的其他元素分心,让我描述与leet-speak无关的密码问题:
我们根据NIST特殊出版物800-63测量密码中的熵位,并且需要策略可配置的等效测量(例如56位)以使密码有效.这仍然为词典单词提供了空间,这些单词已被简单地提出来,并且从熵的角度来看并不是更好的普通字典单词.
我只想告诉用户"P @ s5w0rd"太靠近字典单词了,他们可能会找到一个更强的密码.
我知道有很多更喜欢人们可以记住的密码,并且是安全的密码之间的平衡安全性的考虑.这不是那个问题.
我所要求的就是转换的l33t以明文这应该是几乎一样好玩有趣的话题作为代码高尔夫球.有没有人见过任何代码示例?
我有一个WCF行为扩展,我想添加到WCF客户端.但是,客户端是以编程方式构建的.端点地址可能会有所不同,但我知道类型.我可以通过编程方式或在配置文件中添加行为(首选),但我只需要在配置文件中传递一些配置.
我不想在Common行为(machine.config)中使用它.
我可以通过编程方式添加行为
endpoint.Behaviors.Add(new MyCustomBehavior())
Run Code Online (Sandbox Code Playgroud)
但我宁愿在配置中这样做,所以我也可以在那里配置扩展.
是否可以声明性地添加和配置端点行为扩展到编程构造的端点,只知道类型或接口,同时保留客户端端点以编程方式构造?
<system.serviceModel>
<client>
<!-- Created programmatically -->
</client>
<extensions>
<behaviorExtensions>
<add name="MyCustomBehavior" type="namespace.CustomBehaviors", MyAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
<behaviors>
<endpointBehaviors>
<behavior name="MyCustomBehavior">
<MyCustomBehavior MyImportantBehaviorParam1="foo" />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
当然我可以把配置放在另一个部分,并让我的行为在那里阅读,但如果可能的话我宁愿使用WCF设施.
安装.Net 4.5 Beta后,我的Nant构建的输出失败了:
因为在这个问题中 回答ExtensionAttribute从System.Core.dll移动到mscorlib.dll.因此,尽管我在nant构建脚本中指定了目标框架,但是nant构建正在合并.net4.5程序集,如下所示:
<property name="nant.settings.currentframework" value="net-4.0" />
Run Code Online (Sandbox Code Playgroud)
在Visual Studio下,构建工作正常(生成一个不需要.Net 4.5的.dll).但是我需要构建与nant一起工作,因为我们有"老学者"以及构建使用nant的进程.
我需要添加到我的nant构建脚本中以使构建实际上坚持4.0?
我有一个WCF 4.0服务供内部使用.另一个团队正试图用Java来消费它.
IWAB0399E Error in generating Java from WSDL: java.io.IOException:
ERROR: Missing <soap:fault> element inFault "PasswordReuseFaultFault" ...
Run Code Online (Sandbox Code Playgroud)
一位消息人士表示,它可能是肥皂1.1与肥皂1.2问题
确实,我的WCF生成了WSDL
<wsdl:fault name="PasswordReuseFaultFault">
<wsp:PolicyReference URI="#blah_blah_blah_PasswordReuseFaultFault_Fault"/>
<soap12:fault name="PasswordReuseFaultFault" use="literal"/>
</wsdl:fault>
Run Code Online (Sandbox Code Playgroud)
注意<soap12:fault>而不是预期<soap:fault> 我很确定这是问题的原因.
要么
编辑:
我发现basicHttpBinding使用SOAP 1.1并将预期<soap:fault>
放在WSDL中,wsHttpBinding放在那里<soap12:fault>(我猜想使用SOAP 1.2规范).
我发现了一些建议,即使用Axis代替IDE工具会产生更好的结果,我不知道如果我能得到的Java团队购买到这一点.
在C#中,我有一些与UAC提升相关的"安全"API代码.它涉及获取枚举的大小(如下)
int myEnumSize = sizeof (MyEnum);
Run Code Online (Sandbox Code Playgroud)
代码本身是有效的,编译,正常工作等.但Resharper在解决方案中错误地将其标记为错误("不能在安全上下文中使用不安全的构造").(从C#2.0版开始,将sizeof应用于内置类型不再需要使用不安全模式.)我喜欢Resharper,我喜欢解决方案分析,但是在解决方案中使用此代码我有一个大红点让我觉得有些东西被打破的角落.如果我告诉resharper忽略这个错误,它会在几分钟内回来.
我会向JetBrains提出这个问题,但我看了他们的跟踪器,他们已经有一个记录,自3月以来一直被忽略.进一步观察他们至少还有两次这种记录的事件可以追溯到几年前,两者都以"无重复"状态被驳回.我不想注册他们的跟踪器只是为了对这个错误进行投票.我可能最终屏住呼吸多年了.最快的方法就是解决这个问题.
什么是最好的替代方案,仍然是正确的,并且最不可能在以后造成维护者的任何麻烦?
我可以硬编码:
int myEnumSize = 4;
Run Code Online (Sandbox Code Playgroud)
有更正确的解决方案吗? - 哪个不使用sizeof(枚举)?
BTW:
Marshal.SizeOf()
Run Code Online (Sandbox Code Playgroud)
是完全"安全"但返回错误的大小.
PS.问题中的代码很大程度上受到Microsoft 的UACSelfElvation演示代码的影响.如果您想了解更多细节.但我不认为它们是相关的.
我想在存储过程插入中使用列的默认值,这样我就不必在多个地方重复默认值(它可能会改变... DRY 原则)。
T-SQL INSERT 操作有一个方便的“default”关键字,我可以按如下方式使用它:
Declare @newA varchar(10)
Set @newA = 'Foo2'
-- I can use "default" like so...
Insert into Table_1 (
A,
B)
Values (
@newA,
default)
Run Code Online (Sandbox Code Playgroud)
但是,如果我需要做一些有条件的事情,我似乎无法让 case 语句返回“默认”。
-- How do I use 'default' in a case statement?
INSERT INTO Table_1 (
A,
B )
VALUES (
@newA,
CASE WHEN (@newA <> 'Foo2') THEN 'bar' ELSE default END)
-- > yeilds "Incorrect syntax near the keyword 'default'."
Run Code Online (Sandbox Code Playgroud)
我可以插入默认值,然后根据需要进行更新,如下所示:
INSERT INTO Table_1 (
A, …Run Code Online (Sandbox Code Playgroud) 星期三我不得不从星期一制作的备份图像中恢复。在制作快照时,我修改了大约 20 个文件,后来我在星期二签入了这些文件。现在我又回到了周一早上的快照,我的工作区已经检出或添加了所有这些文件,等等,甚至是我的检入评论和工作项关联。但我已经在星期二办理了登记手续。
我想我会搁置所有待处理的更改(以防万一),然后撤消所有更改,并获取最新的(特定版本)。我应该恢复良好。
有什么注意事项或建议吗?
(TFS 2008, VS2010)
我的ASP.Net应用程序的几页使用WIF直接连接到另一个服务.WIF只是在这里取得进展,虽然它安装在测试和生产服务器上,但每当新的程序员或测试人员获得最新版本并碰巧在他们的机器上没有安装WIF运行时的情况下点击这些页面时,他就会获得YSOD和关于找不到Microsoft.IdentityModel的错误...他们从未阅读过,而是触发IM告诉我我的应用程序已损坏.
我想检测是否已安装WIF运行时并显示每条有用的错误消息,如果没有则链接到下载页面.我不想检查特定的.dll路径,因为这可能会改变......并且3.5和4.0已经有不同的路径.
有没有最好的方法来检测是否安装了WIF运行时?
(显然在一个没有引用它的页面中......如果没有安装它将无法正确显示)
编辑
看起来WIF包含在4.5的框架中,因此3.5/4.0的特定方法可以.没有必要面向未来.
我在VS2010中进行调试,我想检查一个字符串值,但我可以通过手表,悬停,本地等方式向调试器显示:
"System.Linq.Enumerable+<TakeIterator>d__3a`1[System.Char]"
Run Code Online (Sandbox Code Playgroud)
我不在乎是否存在过早评估或其他任何副作用,我只是想看看如果我现在在当前断点处评估表达式将会评估什么.
这是怎么做到的?我也可以通过以前评估的方式更改我的代码吗?当我没有调试时,我并不在乎......但只是想知道.
如果它是相关的...(我怀疑它.)我在将一个新的实体对象保存到数据库之前填充...一些字段分配了LINQ语句,我不确定它们何时被评估为EF的封面.数据库更新失败,'字符串或二进制数据将被截断...所以我试图找到太长的字段.
c# ×4
debugging ×2
wcf ×2
.net-4.0 ×1
.net-4.5 ×1
app-config ×1
asp.net ×1
checksum ×1
command-line ×1
deployment ×1
hash ×1
ilmerge ×1
installer ×1
interop ×1
java ×1
linq ×1
md5 ×1
msbuild ×1
nant ×1
passwords ×1
resharper ×1
sha1 ×1
sizeof ×1
soap ×1
sql ×1
sql-server ×1
t-sql ×1
tfs ×1
web-services ×1
wif ×1
wix ×1