Tag: c#

.Net中的LDAP目录条目 – 不适用于OU =用户

我有以下代码(C#): (调来自: http ://www.eggheadcafe.com/conversation.aspx?smessidid = 31766061&threadid = 31766050) DirectorySearcher dseSearcher = new DirectorySearcher(); string rootDSE = dseSearcher.SearchRoot.Path; DirectoryEntry rootDE = new DirectoryEntry(rootDSE); string userDSE = rootDSE.Insert(7, “OU=Users,”); DirectoryEntry userDE = new DirectoryEntry(userDSE); rootDSE是正确创建的,但是,如果我尝试使用它,则用户userDSE不可用并抛出“服务器上没有此类对象”exception。 LDAP字符串如下: Root:LDAP:// DC =公司,DC =本地 用户:LDAP:// OU =用户,DC =公司,DC =本地 我作为管理员在Vista上运行,但也需要在XP(管理员)上工作。 我是LDAP和目录管理的新手,所以我在这里黑暗中磕磕绊绊。 有什么想法吗? 此外 – 任何链接的文章,可以让我了解它如何工作将不胜感激。

无法确定条件表达式的类型(Func)

将方法分配给Func类型时,我得到编译错误Type of conditional expression cannot be determined because there is no implicit conversion between ‘method group’ and ‘method group’ 。 这只发生在? : ? :运营商。 代码: public class Test { public static string One(int value) { value += 1; return value.ToString(); } public static string Two(int value) { value += 2; return value.ToString(); } public void […]

在没有第三方框架的情况下从HttpWebResponse反序列化JSON的方法

我试图避免依赖开源或第三方库(如Json.NET)来解析来自HttpWebResponse的传入JSON。 为什么? 因为更多地依赖开源框架来帮助实现,你的应用程序必须依赖这些依赖关系…我不喜欢我的应用程序依赖很多库,如果可能的话。 我可以使用像Enterprise Library这样的东西,因为它支持MS,但我正在使用更多的开源库。 无论如何,我试图找出解析.NET 3.5中传入的JSON服务器端的最佳方法。 我知道这会得到很多响应,我甚至使用.NET 3.5 JavaScriptSerializer将数据序列化为JSON,但现在我正试图找出最好和最简单的方法来做反向,不用了使用第三方/开源框架来帮助解决这个问题。

绑定到列表会导致内存泄漏

当我将ListBox的ItemsSource绑定到List时,绑定引擎在控件消失后保持列表元素。 这会导致所有列表元素保留在内存中。 使用ObservalbleCollection时问题就消失了。 为什么会这样? 窗口标记内的xaml GC 代码背后: public MainWindow() { InitializeComponent(); DataContext = new ViewModel(); } private void Button_Click(object sender, RoutedEventArgs e) { this.DataContext = null; ContentControl.Content = null; GC.Collect(); GC.WaitForPendingFinalizers(); } 视图模型 class ViewModel : INotifyPropertyChanged { //Implementation of INotifyPropertyChanged … //Introducing ObservableCollection as type resolves the problem private IEnumerable _list = new List […]

CSV解析

我正在尝试使用C#来解析CSV。 我使用正则表达式来查找”,”并且如果我的标题计数等于我的匹配计数则读取字符串。 如果我有一个像这样的值,这将不起作用: “a”,””b”,”x”,”y””,”c” 然后我的输出是: ‘a’ ‘”b’ ‘x’ ‘y”‘ ‘c’ 但我想要的是: ‘a’ ‘”b”,”x”,”y”‘ ‘c’ 我可以使用任何正则表达式或任何其他逻辑吗?

当前用户目录与root不同时,无法使用ftp方法重命名文件

备注:由于垃圾邮件防范机制,我被迫将Uris的开头从ftp://替换为ftp。 我有以下问题。 我必须使用C#ftp方法上传文件,然后重命名它。 容易,对吗? 🙂 好吧,假设我的ftp主机是这样的: ftp.contoso.com 登录后,当前目录设置为: 用户/名称 所以,我想要实现的是登录,将文件作为file.ext.tmp上传到当前目录,上传成功后,将文件重命名为file.ext 正如我猜测的那样,整个难题是为FtpWebRequest正确设置请求Uri。 MSDN声明: URI可以是相对的或绝对的。 如果URI的格式为“ ftp://contoso.com/%2fpath”(%2f是转义’/’),那么URI是绝对的,当前目录是/ path。 但是,如果URI的格式为“ ftp://contoso.com/path ”,则首先.NET Framework登录到FTP服务器(使用Credentials属性设置的用户名和密码),然后是当前目录设置为UserLoginDirectory / path。 好的,所以我使用以下URI上传文件: ftp.contoso.com/file.ext.tmp 好的,文件落在我想要的位置:在目录“users / name”中 现在,我想重命名该文件,因此我使用以下Uri创建Web请求: ftp.contoso.com/file.ext.tmp 并指定重命名为参数: file.ext 这给了我550错误:找不到文件,没有权限等。 我在Microsoft网络监视器中跟踪了它,它给了我: 命令:RNFR,重命名自 CommandParameter:/file.ext.tmp Ftp:响应端口53724,’550文件/file.ext.tmp未找到’ 好像是在根目录中查找文件 – 而不是在当前目录中。 我使用Total Commander手动重命名了文件,唯一的区别是CommandParameter没有第一个斜杠: CommandParameter:file.ext.tmp 我可以通过提供以下绝对URI来成功重命名该文件: ftp.contoso.com/%2fusers/%2fname/file.ext.tmp 但我不喜欢这种方法,因为我必须知道当前用户目录的名称。 它可以通过使用WebRequestMethods.Ftp.PrintWorkingDirectory来完成,但它增加了额外的复杂性(调用此方法来检索目录名称,然后组合路径以形成正确的URI)。 我不明白为什么URI ftp.contoso.com/file.ext.tmp适合上传而不是重命名? 我在这里错过了什么吗? 该项目设置为.NET 4.0,在Visual Studio 2010中编码。 编辑 好的,我放置了代码片段。 […]

Rhino Mocks – 如果调用方法,则设置属性

如果调用方法,有没有办法让Rhino Mocks设置Stub的属性。 这样的事情:(粗体假代码) callMonitor.Expect(X => x.HangUp())。 SetProperty(callMonitor.InACall = false) ; HangUp方法返回void,我无法真正改变它。 但是我希望我的存根知道在调用HangUp时挂断了呼叫。

使用c#获取在其他应用程序的文本框中输入的文本

我整天都在和这件事打架。 我仍然无法找到确切的解决方案。 帮帮我。 我的目标非常简单。 我想获取其他应用程序的文本框中的文本。 它可能是gtalk客户端或soap UI屏幕的文本框。 我用谷歌搜索,大多数论坛建议winapi是我必须用来实现这一目标的概念。 我从未使用过这个概念,也没有得到任何好的例子。 请帮助我解决这个问题,并完成这件事。 有没有其他方法来实现这一目标? 等待你的回复…

如何在C#应用程序中显示任务栏通知?

我想在我的应用程序中显示任务栏通知。 我怎样才能在C#中实现这一目标?

异步添加到ObservableCollection(或替代)

这就是我所拥有的 – 一个ListBox,其ItemsSource设置为ObservableCollection – 其中T是我的自定义类,表示一个文件,只包含2个DependencyProperties:Filename和ThumbnailPath。 – 列表框还定义了自定义DataTemplate,以便在其下很好地显示图像和文件名。 列表框的目的是显示当前文件夹中的video文件(在TreeView中选择),缩略图(异步生成;不是此问题的一部分)。 因此,当我更改TreeView中的文件夹时,ObservableCollection将被清除并再次填充,这将自动反映在ListBox项目中。 问题在于:UI变得无法响应,更新需要几秒钟。 同样,缩略图在这里没有意义(我尝试禁用它们)。 我认为花费最多时间的是构建我自定义类的50-100个实例及其可视化表示 – 它必须为每个实例初始化一个Image对象。 但这只是我的猜测 – 你能否确认或排除这种可能性? 我开始认为ObservableCollection可能不是这里的方式 ,因为根据我的阅读和我尝试的内容,没有办法异步添加项目,至少如果这些项目是DependencyObjects。 我尝试使用BackgroundWorker创建我的类实例,并将它们添加到ProgressChanged事件处理程序中的集合中,但它会抛出exception(某些线程与dependencyobjects问题)。 有什么东西我不见了吗? 或者通过简单地抛弃ObservableCollection并编写一个好的旧异步for循环来添加项目,我会更好吗?