在这个帖子(大约一年前发布)中,讨论了在非交互式会话中运行Word时可能遇到的问题.那里给出的(非常强烈的)建议不会这样做.在一篇文章中,它表示"Office API都假设您在桌面上的交互式会话中运行Office,具有监视器,键盘和鼠标,最重要的是消息泵." 我不确定那是什么.(我用C#编程只用了一年左右;我的其他编程经验主要是使用ColdFusion.)
我的程序运行大量RTF文件,以提取用于构建医疗报告编号的两条信息.我没有尝试弄清楚RTF中的格式化指令是如何工作的,而是决定只在Word中打开它们并从那里拉出文本(而不是实际启动GUI).有时,程序在处理一个文件的中间打嗝,并留下了一个字线打开该文件附有(我仍然要弄清楚如何关闭一个向下).当我重新运行程序时,我当然得到一个通知,说有一个线程正在使用该文件,我是否想要打开一个只读副本?当我说"是"时,Word GUI突然突然冒出来并开始处理文件.我想知道为什么会这样; 但看起来可能一旦弹出对话框,消息泵开始将主GUI推送到Windows?
在阅读了Jeff Atwood关于存储密码的帖子后,我偶然发现了BCrypt.net,这让我想到了Thomas Ptacek建议使用BCrypt来存储密码.这最终促成了我对BCrypt的C#实现
在上面最后一个链接的评论中,有人问"为什么GenerateSalt(30)永远服用,但GenerateSalt(31)似乎根本不花时间?"
我运行了BCrypt.HashPassword(密码,BCrypt.GenerateSalt(31))并在0毫秒内得到了我的结果.
我已经运行BCrypt.HashPassword("密码",BCrypt.GenerateSalt(30))超过5分钟,但仍然没有结果.
我意识到我们可能不需要随机生成的30个字符的盐来创建我们的密码哈希值(或BCrypt案例中的不可逆加密)多年.编辑我应该读一下代码,logRounds与salt长度没有任何关系.谢谢Aaronaught.
那么,为什么GenerateSalt(31)几乎立即返回一个值(当它需要大约两倍于GenerateSalt(30)的时候?
UPDATE
这是修复:
private byte[] CryptRaw(byte[] password, byte[] salt, int logRounds) {
// ... snip ...
uint rounds = 1U << logRounds;
// ... snip
}
Run Code Online (Sandbox Code Playgroud) 如果检测到未处理的异常,我正在尝试启动错误报告活动.问题是从主线程抛出的异常.如果主线程崩溃,有没有办法启动活动?
我们的团队主要是Java开发人员,有一些像我这样的.NET人员.
我们有一个新的应用程序,我们正在考虑并考虑在前端使用.NET,为应用服务器使用Java.
沟通的最佳方式是什么?肥皂可能很慢.我认为Serialized XML不会起作用.我似乎记得它是.NET专有的.或者它会起作用吗?
我需要检查目录中是否存在文件.文件名的格式如下:
/d1/d2/d3/abcd_12345_67890.dat
在我的程序中,我将知道文件名 abcd_
我需要if使用-e选项编写条件,并找到与给定模式匹配的文件.
关于JS的新手.
我需要使用一个外部脚本来修改当前页面中的一些元素,将其作为书签进行访问.
如果我修改插入以下<script>行的网页的html源代码:
s=document.createElement('script');
s.type='text/javascript';
s.src='script.js';
document.getElementsByTagName('head')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,如果我创建一个具有相同行的javascript:bookmarklet,我将获得一个包含以下字符串的空白页:
[object HTMLScriptElement]
Run Code Online (Sandbox Code Playgroud)
然而,如果我创建一个添加该行的书签
void(null);
Run Code Online (Sandbox Code Playgroud)
对于以前的网页,网页没有消失,但脚本没有执行.
为什么?
什么是确定列及其名称是否存在默认约束的方法,以及任何索引的名称,以便在删除列之前删除它们?
我希望在我的viewmodel上有一个命令在我的ComboBox的selectionchanged上执行.显然,Combobox不支持执行命令.
我创建了一个继承自Combox并实现此接口的新类.
当我尝试查看控件(在设计器或调试中)时,控件不显示.我没有任何例外 - 我的控件是否缺少视觉模板或其他东西?
谢谢.
public class CommandSourceComboBox : ComboBox, ICommandSource
{
static CommandSourceComboBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CommandSourceComboBox), new FrameworkPropertyMetadata(typeof(CommandSourceComboBox)));
}
#region ICommandSource Members
public ICommand Command
{
get;
set;
}
public object CommandParameter
{
get;
set;
}
public IInputElement CommandTarget
{
get;
set;
}
protected override void OnSelectionChanged(SelectionChangedEventArgs e)
{
base.OnSelectionChanged(e);
if (this.Command != null)
{
RoutedCommand command = Command as RoutedCommand;
if (command != null)
{
command.Execute(CommandParameter, CommandTarget);
}
else
{
((ICommand)Command).Execute(CommandParameter);
}
}
}
#endregion
}
Run Code Online (Sandbox Code Playgroud) 我在一个相当大的应用程序上遇到了Phusion Passenger的部署问题:高负载停滞的进程,空闲进程,实例缓慢启动等等.所以我正在调查Unicorn,我非常喜欢它的体系结构/性能透视.
是否有任何易于遵循的迁移指南从Nginx Phusion Passenger到Unicorn?
我有以下代码:
funcs = []
for i in range(10):
def func():
print i
funcs.append(func)
for f in funcs:
f()
Run Code Online (Sandbox Code Playgroud)
问题是func正在被覆盖.即代码的输出是:
9
9
9
...
Run Code Online (Sandbox Code Playgroud)
如果不定义新功能,您将如何解决这个问题?
最佳解决方案是更改函数的名称.即:
for i in range(10):
def func+i():
...
Run Code Online (Sandbox Code Playgroud)
(或其他一些奇怪的语法)
c# ×2
.net ×1
android ×1
bcrypt ×1
bcrypt.net ×1
bookmarklet ×1
combobox ×1
command ×1
constraints ×1
indexing ×1
java ×1
javascript ×1
lambda ×1
message-pump ×1
passenger ×1
perl ×1
python ×1
regex ×1
salt ×1
sql-drop ×1
sql-server ×1
unicorn ×1
winapi ×1
winmain ×1
wpf ×1