Tag: C#的

我可以closures模​​拟,只是在几个实例

我有一个应用程序在整个模仿使用。 但是,当一个用户以pipe理员身份login时,一些操作需要他们自己写入服务器。 现在,如果这些用户在实际的服务器上没有权限(有些不),它不会让他们写。 我想要做的就是closures模拟只是几个命令。 有没有办法做这样的事情? using(HostingEnvironment.Impersonate.Off()) //I know this isn't a command, but you get the idea? 谢谢。

encryptionapp.config文件

我有一个app.config文件,我需要与我的应用程序分发。 它是由于我添加的ASMX Web服务的服务引用而创build的。 如果这个文件被修改/查看,这不是一个大问题,但我仍然想要使其安全。 我已经检查了configuration的哈希,并确保它是有效的,但我仍然想要一个额外的保护层。 这是我的configuration: http : //pastie.org/private/zjdzadnfwrjvwkmlbdsqw 那么有没有什么我可以encryption或任何东西?

从数字列表中获取所有可能的组合

我正在寻找一种有效的方法来实现这一点: 你有一个数字1 ….. n列表(通常:1..5或1..7左右 – 相当小,但可以因情况而异) 你需要这些数字的所有长度的组合,例如只有一个数字({1},{2},… {n})的所有组合,那么两个不同数字({1,2}, {1,3},{1,4} ….. {n-1,n}),那么这些数字中的三个({1,2,3},{1,2,4})等等 基本上,在组内,顺序是不相关的,所以{1,2,3}等同于{1,3,2} – 这只是从列表中获得所有x个数字组的问题 似乎应该有一个简单的algorithm – 但我迄今为止徒劳无功。 大多数组合和排列algorithm似乎a)考虑到顺序(例如123不等于132),他们总是似乎操作一个单一的string或数字…. 任何人都有一个伟大的,不错的快速algorithm,他们的袖子? 谢谢!

WCF服务契约接口的不同forms

看来我可以在以下三个不同版本的同一个WCF合同接口API之间自由切换,而不会中断客户端: [ServiceContract] interface IService { // Either synchronous // [OperationContract] // int SomeMethod(int arg); // Or TAP [OperationContract] Task<int> SomeMethodAsync(int arg); // Or APM // [OperationContract(AsyncPattern = true)] // IAsyncResult BeginSomeMethod(int arg, AsyncCallback callback, object state); // int EndSomeMethod(IAsyncResult ar); } 现有的testing客户端应用程序保持工作,无需重新编译或触摸。 如果我重新编译服务并将其引用重新导入到客户端应用程序中,那么WSDL定义将保持不变 ,即1:1。 我的问题: 这是我可以信赖的合法行为吗? 它logging在任何地方吗? 我们的想法是将一组同步SomeMethod风格的方法转换为TAP SomeMethodAsync风格的方法,在其实现中使用async/await ,从而提高WCF服务的可伸缩性,而不会破坏现有的客户端。 另外,在.NET 3.5和.NET 4.0下,WCF服务扩展方面已经出现了一些问题。 他们在MSKB文章“WCF服务可能在负载下缓慢扩展”以及CodeProject文章“调整WCF构build高度可扩展的asynchronousREST API”中有logging […]

IApplicationActivationManager :: ActivateApplication在C#中?

我正在为metro应用程序进行自动化testing,我发现代码可以做很多我需要的,但它是用C ++编写的: http : //blogs.msdn.com/b/windowsappdev/archive/2012/09/04/自动化最testing-的-窗口8 apps.aspx 我的问题是,我怎么在C#中使用IApplicationActivationManager :: ActivateApplication,因为我不知道C ++? 该方法的详细信息可在此处find: http : //msdn.microsoft.com/en-us/library/windows/desktop/hh706903(v=vs.85).aspx 这是我从Shobjidl.idl中取得的代码: cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)") // IApplicationActivationManger is used to activate an immersive application identified by its Application User Model Id. // // Developers who are interested in using the Application Activation Manager do not need to implement the following // interface. An implementation […]

LINQ忽略重音和案例

什么是最简单的方法来过滤元素与LINQ通过Where方法忽略强调和大小写? 到目前为止,我已经能够通过调用属性的方法来忽略shell,我不认为这是一个好主意,因为它调用每个元素(右?)相同的方法。 所以这是我到目前为止: var result = from p in People where p.Name.ToUpper().Contains(filter.ToUpper()) select p; 请告诉我,如果这是一个很好的做法,并忽略强调的最简单的方法。

什么是最可靠的方法来禁止C + +的构造函数?

有时候,有必要禁止C ++类中的拷贝构造函数,以使类变为“不可拷贝”。 当然, operator=应该同时被禁止。 到目前为止,我已经看到两种方式来做到这一点。 方法1是将方法声明为私有,并且不执行: class Class { //useful stuff, then private: Class( const Class& ); //not implemented anywhere void operator=( const Class& ); //not implemented anywhere }; 方法2是将私有方法声明为“空”实现: class Class { //useful stuff, then private: Class( const Class& ) {} void operator=( const Class& ) {} }; 海事组织的第一个更好 – 即使有一些意想不到的原因导致从同一个类成员函数调用复制构造函数将稍后会出现链接器错误。 在第二种情况下,这个场景直到运行时才会被忽略。 第一种方法有没有严重的缺陷? 什么是更好的方法,如果有的话,为什么?

如何禁用复制,使用C#粘贴和删除文本框上的function

任何人都可以build议如何使用C#处理WinForms中的文本框上的剪切,复制和粘贴事件?

有人可以解释BCrypt如何validation散列?

我正在使用C#和BCrypt.Net哈希我的密码。 例如: string salt = BCrypt.Net.BCrypt.GenerateSalt(6); var hashedPassword = BCrypt.Net.BCrypt.HashPassword("password", salt); //This evaluates to True. How? I'm not telling it the salt anywhere, nor //is it a member of a BCrypt instance because there IS NO BCRYPT INSTANCE. Console.WriteLine(BCrypt.Net.BCrypt.Verify("password", hashedPassword)); Console.WriteLine(hashedPassword); 如果BCrypt没有在任何地方保存盐,那么如何用哈希validation密码。 我唯一的想法是它以某种方式在散列末尾添加salt。 这是一个正确的假设吗?

从Process.StandardOutput中捕获二进制输出

在C#中(在SuSE上运行在Mono 2.8下的.NET 4.0),我想运行一个外部批处理命令并以二进制forms捕获它的输出。 我使用的外部工具称为“samtools”(samtools.sourceforge.net),除此之外,它可以从一个名为BAM的索引二进制文件格式返回logging。 我使用Process.Start来运行外部命令,我知道我可以通过redirectProcess.StandardOutput来捕获它的输出。 问题是,这是一个带有编码的文本stream,所以它不能访问输出的原始字节。 我find的几乎可行的解决scheme是访问基础stream。 这是我的代码: Process cmdProcess = new Process(); ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); cmdStartInfo.FileName = "samtools"; cmdStartInfo.RedirectStandardError = true; cmdStartInfo.RedirectStandardOutput = true; cmdStartInfo.RedirectStandardInput = false; cmdStartInfo.UseShellExecute = false; cmdStartInfo.CreateNoWindow = true; cmdStartInfo.Arguments = "view -u " + BamFileName + " " + chromosome + ":" + start + "-" + […]