Tag: C#的

在ASP.NET中使用SecureString有什么好处吗?

如果我理解正确,这是为了保持纯文本内存不足,这样的应用程序是安全的反对内存,垃圾堆或内存分页到磁盘的深奥攻击。 SecureString提供非托pipe字节,并在一次消耗一个非托pipe字节 – 然后该string从内存中删除。 (如果我离开,纠正我!) 在ASP.NET中,秘密被收集在一个Web表单中,并以HTTPS的forms发回。 但是,然后Request对象将表单中的所有请求值转换为名称值对,并将它们放在一个集合中,例如Request [“TxtPassword”] – 因此,即使在我得到string之前,它已经被不安全地写入内存。 更糟的是,如果我使用的是控件,那么不安全的表示将在TextBox的属性中有更多的托pipestring。 对这个SecureString做任何事我需要一个接受非托pipestring的API – 所以看来我不能使用安全string存储proc参数或其他许多。 我这样做是错误的,还是试图使用SecureString而不是将不安全string的副本泄露到托pipe内存中是一个愚蠢的错误? 切换到OAuth或Windows身份validation不是一个选项。

什么是testingWCF服务的最好方法?

我已经使用了微软随Visual Studio一起发布的工具,因为它很快速而且很脏 http://msdn.microsoft.com/en-us/library/bb552364.aspx 但它有点笨重,很难合作。 有没有其他有用的testing客户端,你使用,不需要创build一个新的Visual Studio项目和编译代码? 编辑:我正在寻找更多的graphicstesting工具,我可以用它来做不同的环境中的系统快速临时testing,而不必写一堆不同的testing。

有没有完整的IEquatable实现参考?

我在这里的许多问题都涉及到IEquatable的实现。 我发现正确实施是非常困难的,因为在天真的实现中存在很多隐藏的错误,而我发现的文章相当不完整。 我想find或写一个明确的参考,其中必须包括: 如何正确实现IEquatable 如何正确覆盖Equals 如何正确覆盖GetHashCode 如何正确实现ToString方法 如何正确实现运算符== 如何正确执行操作符! 这样一个完整的参考已经存在? PS:即使MSDN的参考似乎有缺陷给我

什么是结构中的variables名之前的点?

看着linux内核源码,我发现这个: static struct tty_operations serial_ops = { .open = tiny_open, .close = tiny_close, .write = tiny_write, .write_room = tiny_write_room, .set_termios = tiny_set_termios, }; 在C中我从来没有见过这样的符号。为什么在variables名前面有一个点?

最快的通用机器学习库?

Weka可能是最受欢迎的通用机器学习库。 但是我的经验可能会很慢。 我一直在寻找鲨鱼 , 华夫饼 , dlib , Plearn和MLC ++作为替代品。 其中,Shark和dlib看起来最有希望。 有没有人有任何经验,这些库的性能testing?

为什么push_back不能被重载来执行emplace_back的工作?

首先,我知道这个问题 ,但我不相信我也在问同样的问题。 我知道什么std::vector<T>::emplace_back 做 – 我明白为什么我会用push_back() 。 它使用可变参数模板,允许我将多个参数转发给新元素的构造函数。 但是我不明白的是为什么C ++标准委员会决定需要一个新的成员函数。 为什么他们不能简单地扩展push_back()的function。 据我所见, push_back可能在C ++ 11中被重载为: template <class… Args> void push_back(Args&&… args); 这不会中断向后兼容性,同时允许您传递N个参数,包括将调用正常右值或复制构造函数的参数。 实际上, push_back()的GCC C ++ 11实现只是简单地调用emplace_back: void push_back(value_type&& __x) { emplace_back(std::move(__x)); } 所以,我看到它的方式,不需要emplace_back() 。 所有他们需要添加的push_back()接受可变参数的重载,并将参数转发给元素构造函数。 我错了吗? 有没有什么理由需要一个全新的function呢?

单声道项目:为什么单声道比.NET更快?

我很惊讶地发现mono比.NET快。 有谁知道这是为什么? 我期待单声道比.NET慢,但至less在我的实验情况下。 我有一个与.NET框架的Windows XP的笔记本电脑。 我在Windows XP上运行vmware vmplayer上的CentOS。 我想尝试单声道。 于是抓住了Mono 2.6.1的源代码并将其安装在vmplayer的CentOS上。 我写了一个testingweb服务应用程序使用.net 2.0执行它的wndows,它的工作,我把二进制到vmplayer中的centos没有任何重新编译,并在centos上执行它。 万岁,它的工作! 生活是好的,但其他的东西引起了我的注意。 在centos上执行应用程序似乎更快。 我不相信我的眼睛。 为了证实我的观察,我将networking排除在等式之外,因为networking响应取决于很多外部因素。 我从互联网上抓起了一个小的虚拟循环代码,编译成在windows和CentOS中执行的visual studio,结果如下 Output on windows console is HelloConsole\bin\Debug>HelloConsole.exe Result =2.66666664666712E+24 37443.6077769661 ms Output on Centos console is [rupert@bagvapp Math.Pow]$ mono HelloConsole.exe Result =2.66666664666712E+24 28790.6286 ms 如果任何人都可以解释这种行为,那就太好了。 我的外行人的理解是Mono的实现比.NET框架更有效率。 即使我假设Mono的Math实现只是有效的。 但像处理财务数据,graphics计算等很多实现都依赖于math库。 在没有vmware的情况下直接在Mono / Centos上执行testing会更有趣,但这需要一些时间。 下周末我会试一试。 public static void DummyLoop() […]

什么开源C项目值得学习好的devise学习?

C中的小型开源项目对于学习良好的devise很有意思? 该项目应该是: 不要太大(像linux内核) 有据可查 也许还在积极的发展中 我刚刚开始学习C语言,虽然语言本身不是太难,但我正在努力devise更大的应用程序,所以我认为检查其他开源项目将是一个很好的起点。 谢谢!

为什么我得到这个编译错误试图调用一个基本的构造函数/方法,需要一个dynamic的参数?

在重构一些代码时,我遇到了这个奇怪的编译错误: 构造函数调用需要dynamic调度,但不能因为它是构造函数初始值设定项的一部分。 考虑转换dynamic参数。 当试图调用带有dynamic参数的基本方法/构造函数时,似乎会发生这种情况。 例如: class ClassA { public ClassA(dynamic test) { Console.WriteLine("ClassA"); } } class ClassB : ClassA { public ClassB(dynamic test) : base(test) { Console.WriteLine("ClassB"); } } 如果我把这个参数转换成object ,它是有效的,像这样: public ClassB(dynamic test) : base((object)test) 所以,我有点困惑。 为什么我不得不把这个讨厌的演员放在 – 为什么编译器不知道我的意思?

如何解决:/usr/lib/libstdc++.so.6:版本'GLIBCXX_3.4.15'找不到

所以我现在绝望地find一个解决这个问题。 我正在编译一个共享库.so在Ubuntu 32位(尝试在Debian和Ubuntu 64位,但没有任何工作) 我一直得到: /usr/lib/libstdc++.so.6: version “GLIBCXX_3.4.15' not found每次我尝试加载我的插件都/usr/lib/libstdc++.so.6: version “GLIBCXX_3.4.15' not found 。 以下是我得到这个错误: 安装最新的Ubuntu 32位 sudo apt-get install build-essential 编译并加载我的插件(.so) 这里有一些我发现和尝试的链接,但没有一个为我工作: (我的老问题:在发布这个问题几天之后,我不知怎么修复了这个问题,但是我不记得我是如何做到的) 我的问题 另一个用户有同样的问题 而另一个 我看到一些人通过将libstdc ++(我认为)移动到某个目录,然后指向或链接idk到那个目录来解决这个问题,但是这让我感到困惑。 任何人都知道解决? (编辑:) – 运行: strings /usr/lib/libstdc++.so.6 | grep GLIBC 在terminalstrings /usr/lib/libstdc++.so.6 | grep GLIBC给我: strings '/usr/lib/libstdc++.so.6': No such file 。 这可能是问题吗? 如果是这样,我该如何安装这个库? (Edit2 :)任何人都知道的解决scheme? (Edit3)仍然需要一个解决scheme。 […]