Tag: .net 4.0

对于C#中的匹配,Regex实例线程是否安全?

我有这个正则表达式,我在Parallel.ForEach 。 安全吗? Regex reg = new Regex(SomeRegexStringWith2Groups); Parallel.ForEach(MyStrings.ToArray(), (str) => { foreach (Match match in reg.Matches(str)) //is this safe? lock (dict) if (!dict.ContainsKey(match.Groups[1].Value)) dict.Add(match.Groups[1].Value, match.Groups[2].Value); });

通过GMail和.NET 4发送电子邮件

.NET 4在发送电子邮件时有任何问题吗? 我有一个.NET 3.5解决方案,它正在工作,然后将解决方案迁移到.NET 4,它不起作用; 没有改变! 注意:我得到这个例外: System.Net.Mail.SmtpException:SMTP服务器需要安全连接或客户端未经过身份validation。 服务器响应为:5.5.1需要身份validation。 在System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode,String response)了解更多信息 在System.Net.Mail.MailCommand.Send(SmtpConnection conn,Byte []命令,字符串来自) 在System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,MailAddressCollection recipients,String deliveryNotify,SmtpFailedRecipientException&exception) 在System.Net.Mail.SmtpClient.Send(MailMessage消息) 在 … 这是我的代码: public static void SendEmail( this Email email) { if (email.MailingSettings == null) throw new ArgumentNullException(“email.MailingSettings”, “specify email.MailingSettings”); var settings = email.MailingSettings; if (string.IsNullOrEmpty(email.Sender)) throw new ArgumentException(“email.Sender”, “specify a sender”); if (email.Recipients == […]

WPF自定义控件,DependencyProperty问题

我已经使用自定义控件设置了测试代码: /// /// Interaction logic for UCTest.xaml /// public partial class UCTest : UserControl { public static readonly DependencyProperty LastNameProperty = DependencyProperty.Register(“LastName”, typeof(string), typeof(UCTest), new PropertyMetadata(“No Name”, LastNameChangedCallback, LastNameCoerceCallback), LastNameValidateCallback); private static void LastNameChangedCallback( DependencyObject obj, DependencyPropertyChangedEventArgs e) { Console.WriteLine(e.OldValue + ” ” + e.NewValue); } private static object LastNameCoerceCallback(DependencyObject obj, object o) { string […]

通过Exchange Web服务访问投票按钮扩展属性

我正在使用Exchange Web服务(Exchange Server 2007)尝试发送带有投票按钮的电子邮件。 我读了这个问题/答案: 发送投票电子邮件 我有一位使用Outlook 2007的同事给我发了一封简单的是/否投票按钮的电子邮件(按钮显示在Outlook中,我还没有发送回答)我可以确认这是我收件箱中的第一封电子邮件。 然后我使用EWS获取该电子邮件并尝试获取与电子邮件相关的扩展属性,因此我可以获得与投票按钮相关的二进制文件,从而发送带有投票按钮的电子邮件。 这是我的代码。 ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); service.Url = new Uri(ConfigurationManager.AppSettings[“URL”]); service.Credentials = new NetworkCredential( ConfigurationManager.AppSettings[“Username”], ConfigurationManager.AppSettings[“Password”], ConfigurationManager.AppSettings[“Domain”] ); Item foundItem = service.FindItems(WellKnownFolderName.Inbox, new ItemView(10)).Items[0]; ExtendedPropertyDefinition epd = new ExtendedPropertyDefinition( DefaultExtendedPropertySet.Common, 0x00008520, MapiPropertyType.Binary ); object propertyValue = null; bool outBool; outBool = foundItem.TryGetProperty(epd, out propertyValue); outBool始终为false, propertyValue始终为null。 […]

使用TPL的生产者消费者模型,.net 4.0中的任务

我有一个相当大的XML文件(大约1-2GB)。 要求是将xml数据持久保存到数据库中。 目前,这是通过3个步骤实现的。 尽可能多地读取内存占用较少的大文件 从xml-data创建实体 使用SqlBulkCopy将创建的实体中的数据存储到数据库中。 为了获得更好的性能,我想创建一个Producer-consumer模型,其中生产者创建一组实体,例如批量为10K并将其添加到Queue中。 并且消费者应该从队列中获取批量实体并使用sqlbulkcopy持久化到数据库。 谢谢,Gokul void Main() { int iCount = 0; string fileName = @”C:\Data\CatalogIndex.xml”; DateTime startTime = DateTime.Now; Console.WriteLine(“Start Time: {0}”, startTime); FileInfo fi = new FileInfo(fileName); Console.WriteLine(“File Size:{0} MB”, fi.Length / 1048576.0); /* I want to change this loop to create a producer consumer pattern here to process […]

C# – .NET 4.0 – 该程序集不允许部分信任的调用者

从网络共享运行时,我的应用程序抛出以下exception: 该程序集不允许部分信任的调用者。 我的应用引用了两个DLL文件: BitFactory.Logging.dll FileHelpers.dll 我不确定它有哪些问题。 AllowPartiallyTrustedCallersAttribute :读取它,但我没有任何DLL文件的源,所以我无法将属性添加到这些DLL文件。 CASPOL.EXE :使用一些变体添加我的网络共享,例如caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet似乎没有任何影响。 我曾经使用过.NET 3.5的CASPOL hack,但是,它现在似乎不适用于.net 4.0。 任何人都可以建议如何绕过这个“部分受信任的来电者”检查? 谢谢。

在System.Collections.Concurrent.ConcurrentDictionary中防御竞争条件

.NET ConcurrentDictionary容易受到可能导致意外数据的竞争条件的影响,如本MSDN文章底部所述。 我假设有几个因素需要考虑。 问:我应该如何编写不易受可能导致数据丢失的竞争条件的代码? 在我的场景中,我有一个输入流,它具有一个不断增加的索引(n ++)。 我的想法是,如果竞争条件发生,我可以检测到丢失的数据并重新发送。 另一方面,可能有更好的方法来做到这一点,我不知道。

如何在WebClient.DownloadFileAsync上实现超时

所以我认为Webclient.DownloadFileAysnc会有一个默认超时,但环顾文档我无法在任何地方找到任何关于它的东西所以我猜它没有。 我试图从互联网上下载文件,如下所示: using (WebClient wc = new WebClient()) { wc.DownloadProgressChanged += ((sender, args) => { IndividualProgress = args.ProgressPercentage; }); wc.DownloadFileCompleted += ((sender, args) => { if (args.Error == null) { if (!args.Cancelled) { File.Move(filePath, Path.ChangeExtension(filePath, “.jpg”)); } mr.Set(); } else { ex = args.Error; mr.Set(); } }); wc.DownloadFileAsync(new Uri(“MyInternetFile”, filePath); mr.WaitOne(); if (ex != null) […]

C#webBrowser控制如何在鼠标指针下获取数据

嗨如果我在WebBrowser控件中打开一个站点,无论如何都要编写一个函数来获取鼠标指针下的数据? 所以我想做什么,但不知道怎么做! 加载一个网站(大多数任何网站)用户将鼠标放在页面上的某些数据上并按下控件点击,这样代码就会计算出光标下面的HTML标签并读取它的内部值。 希望有道理! 事实上,就像IE开发人员工具中的指针控件一样,它甚至设法围绕选择的方框放置一个框… 我只是在寻找没有图片的文字…… 谢谢你的帮助…

.NET动态方法。 最棒的表演

在动态方法中创建动态方法的最佳方法是什么,但如果在VS中编译则具有相同的效率? 说我要创建一个计算器。 用户输入公式表示A + B / C * 0.5; 我想要的是能够创建类似Func的东西,它将接受A,B,C作为双参数并返回double。 参数类型和返回类型始终为double。 参数数量是可变的,但至少有一个。 这些公式可以经常更改/添加。 一旦公式’编译’,它将成为低延迟代码的一部分,可以被称为1000次/秒。 我需要找到简单可靠的方法来构建它,但它必须具有静态构建和优化方法的精确性能质量 。