Articles of .net

从Active Directory获取用户的组成员身份

我怎么能从AD得到一个用户的组成员资格,最好使用与我用来获取用户的Department属性相同的模式,如下所示? 我已经find了几个例子,但是所有示例技术的相交集是非常小的,缺乏这个部门查询的紧密性和简单性: var adServer = ConfigurationManager.AppSettings["adServer"] ?? "localhost"; var remoteRoot = new DirectoryEntry(GetRootPath(adServer)); var searcher = new DirectorySearcher(remoteRoot, string.Format("(SAMAccountName={0})", shortUserName)); searcher.PropertiesToLoad.Add("Department"); SearchResult result = null; result = searcher.FindOne();

如何创build虚拟Windows驱动器

我试图创build一个Windows虚拟驱动器(如c:\)映射远程存储。 主要目的是以一种清晰的方式向用户进行。 因此,用户不会知道他正在从另一个站点进行书写/阅读。 我正在寻找可用的产品,我发现FUSE不是在Windows和WebDAV直接映射驱动器的选项,我想在窗口和远程存储之间build立一个中间层来实现某种服务。 存在另一种替代scheme,比如Dokan,这非常昂贵,而System.IO.IsolatedStorage命名空间似乎并没有明确地创build一个新的Windows驱动器。 大概pismo( http://www.pismotechnic.com/ )是大部分符合我的要求的东西,但我会知道是否有另一种select,包括一些Windows(C ++或.NET)本机API来做到这一点。 谢谢阅读 :)

win32 API和.NET框架之间的select

我必须开发一个Windows应用程序,通过识别手势,通过networking摄像头控制鼠标。 我将使用vc ++ 2008进行开发。 但是我很困惑是否要使用.NET框架或核心的win32 APIs。 性能对于我的应用程序非常重要。 按照Ivor Horton的书“Beginning Visual C ++ 2008”,使用.NET框架有一个小的性能损失。 我想知道惩罚依赖的所有因素,为我的应用程序使用.NET框架将是可行的。

Linux上Data Protection API的等价物

Microsoft Windows 2000和更高版本公开了为每个用户或每个系统环境encryption数据的Data Protection API (DPAPI)。 调用者不提供用于encryption数据的密钥。 而是使用从用户或系统证书导出的密钥对数据进行encryption。 这个API通过ProtectedData类方便地在.NET中公开: // Encrypts the data in a specified byte array and returns a byte array // that contains the encrypted data. public static byte[] Protect( byte[] userData, byte[] optionalEntropy, DataProtectionScope scope ) // Decrypts the data in a specified byte array and returns a byte array // […]

如何确定给定COM库的线程模型?

我有一个COM库,我应该在我的ASP.NET MVC应用程序中使用。 但是我不确定它的螺纹公寓模型。 我怎样才能确定呢?

什么是Visual Studio创build.NET窗体时分配的窗口类名称?

就像在VC ++创build窗口时一样,我们需要创build一个窗口类并使用RegisterClass或RegisterClassEx来注册。 但在.NET中,我们没有这一步。 所以我想知道在创build窗体时由Visual Studio分配的默认窗口类名是什么? 正如我追踪到的,由Visual Studio分配的窗口类名称有点类似于这个: WindowsForms10.Window.8.app.0.1ca0192_r13_ad1 我想改变这个默认的窗口类名称,任何想法?

WCF wsHttpBinding的Windows身份validation有多安全?

我已经创build了WCF,并使用wsHttpBinding和MTOM作为消息传输,并将其作为“Windows”进行了身份validation。 现在我的服务不是当前的SECURE,它是普通的HTTP,运行在自定义的端口上。 WCF的wsHttpBinding的Windows身份validation是安全的吗? 任何人都可以看到密码或猜测通过networking跟踪? 环境信息: 在互联网上托pipe 没有Active Directory,它的单个服务器 从我的办公室连接服务器的pipe理员用户名和密码 在客户端,configuration文件中没有提到密码,它是在运行时input的。 它正常工作,因为input错误的凭据也会返回某种安全exception。 在自定义端口89上运行.NET 4.0,目前我已经在我的自定义Windows服务的app.config中设置了以下configuration,我将WCF作为本地服务安装在自定义Windows服务中。 我已经启用模拟每个方法。 这是app.config <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="metaAndErrors"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> <dataContractSerializer maxItemsInObjectGraph="2147483647"/> <serviceAuthorization impersonateCallerForAllOperations="true"/> </behavior> </serviceBehaviors> </behaviors> <services> <service name="CustomServiceHost.CustomService" behaviorConfiguration="metaAndErrors" > <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpLargeBinding" contract="CustomServiceHost.ICustomService"/> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:89/CustomService" /> </baseAddresses> </host> […]

.NET:如何创build文件图标叠加

我试图在各种文件的图标上添加不同的图标覆盖(注意:并非所有文件都是某种types的文件,只是某些文件)。 如果你没有明白我的意思,我指的是像TortoiseSVN,TortoiseHG,Dropbox等这样的程序。 这可以在.NET中完成吗? 如果是这样,怎么样? 我希望这里有一个图书馆。 我发现这个CodeProject文章关于这样的东西,但它不是.NET。 提前致谢。

如何刷新或刷新C#Windows窗体?

This is my Entry Form of my Application. 点击确定button,将进入下一个表格进一步处理。我的第二种forms是 在第二个窗体中,我必须select任意一个选项button,然后按下OKbutton。按下OKbutton后,我只是调用一些函数,然后它将返回Form1.But Form1没有得到它的控制几秒钟。看起来像崩溃,需要刷新。但我不知道如何刷新表格? 请指导我摆脱这个问题… 看起来像,

我正在写一个包装的CMD,但有麻烦redirect标准input

好吧,这就是我正在做的 – 我想写一个.net应用程序,redirect标准输出到一个richtextbox。 我已经得到了很好的工作,但是一旦我将标准input添加到混音中,我的读命令就会冻结。 以下是我的表单中的相关代码。 Shell = new Process(); Shell.StartInfo.FileName = "cmd"; Shell.StartInfo.UseShellExecute = false; Shell.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; Shell.StartInfo.CreateNoWindow = true; //Shell.StartInfo.RedirectStandardInput = true; Shell.StartInfo.RedirectStandardOutput = true; Shell.StartInfo.RedirectStandardError = true; Shell.EnableRaisingEvents = true; Shell.OutputDataReceived += new DataReceivedEventHandler(Shell_OutputDataReceived); Shell.ErrorDataReceived += new DataReceivedEventHandler(Shell_OutputDataReceived); Shell.Start(); Timer consoleReader = new Timer(); consoleReader.Interval = 200; consoleReader.Tick += new EventHandler(consoleReader_Tick); consoleReader.Start(); […]