Tag: .net 2.0

为什么XmlDocument Validate事件处理程序没有被命中?

我有这个代码: // Load the document XmlDocument xmlDocument = new XmlDocument(); // use the stream and have it close when it is finished using ( argInputStream ) { xmlDocument.Load( argInputStream ); xmlDocument.Schemas.Add( XmlSchema.Read( argSchemaStream, null ) ); xmlDocument.Validate( ValidationEventHandler ); } // this is not getting hit void ValidationEventHandler( object sender, ValidationEventArgs e ) { switch […]

步进调试模式时,GUI不会重绘

在任何.NET 2.0 Winforms应用程序中,如果您在调试模式下运行代码,并且您要么点击断点或以其他方式逐行进入代码,并且您希望看到正在调试的应用程序的GUI,那么.NET会不绘制应用程序屏幕。 例如,我有一个应用程序将一些消息写入Form上的TextBox。 当我逐步调试代码,或者遇到断点时,我想查看TextBox中记录的所有消息,但如果我按Alt-Tab从VS2005窗口切换到WinForms应用程序窗口,我看到的全部内容是白色。 在VS2005中以调试模式按F5之前,不会重新绘制表单。 这是什么原因,有没有办法克服这个问题,而不在代码中引入任何线程?

在xml文件中搜索数据的最佳方法?

在我们的新项目中,我们必须提供搜索function,以从数百个xml文件中检索数据。 我在下面简要介绍了我们当前的计划,我想知道您对此的建议/改进。 这些xml文件包含个人信息,搜索基于其中的10个元素,例如姓氏,名字,电子邮件等。我们当前的计划是创建一个包含所有可搜索数据和实际文件密钥的主XmlDocument。 因此,当用户搜索数据时,我们首先查看主文件并获取结果。 我们还将从最近的搜索中缓存实际的xml文件,以便稍后进行simillar搜索可以快速处理。 我们的应用程序是.net 2.0 Web应用程序。

用.net2.0和.net4.0编写的webservice客户端之间的差异

我在使用SSL上的java webservice时遇到了问题。 我有两种方法,一种是.net4.0,一种是.net2.0。 不幸的是.net4.0方法不起作用。 但是,早期版本(2.0)正常工作: class Program { static void Main(string[] args) { try { Srv.Service client = new Srv.Service (); X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly); string findValue = “IssuerName”; X509Certificate2Collection certsCollection = store.Certificates.Find(X509FindType.FindByIssuerName, findValue, false); X509Certificate2 cert; if (certsCollection.Count > 0) { cert = certsCollection[0]; client.ClientCertificates.Add(cert); // Only in .net 2.0 } […]

使用string.Replace匹配整个单词

我正在使用NET 2.0和WinForms。 目前,我需要一个代码来替换给定文本中的另一个字符串,但在文本中它应该只查找整个单词。 我的意思是: string name = @”COUNTER = $40 CLOCK_COUNTER = $60″; name = name.Replace(“COUNTER”, “COUNT”); 它应该只用COUNT替换COUNTER的第一个实例,因为这是整个单词。 但是,似乎string.Replace并没有考虑整个词。 请不要推荐正则表达式。 我已经尝试过了,这对我的需求来说太慢了。 我需要一些非常快速和有效的东西。 我怎么能做到这一点?

为什么在.net 2.0中向原语(即:int)转换null会抛出空引用exception而不是无效的强制转换exception?

我正在浏览一些代码并遇到了我的combobox尚未初始化的情况。 这是在.NET 2.0中,在下面的代码中,this.cbRegion.SelectedValue为null。 int id = (int)this.cbRegion.SelectedValue; 此代码抛出了空引用exception,而不是无效的强制转换exception。 我想知道是否有人知道为什么它会抛出空引用exception而不是无效的强制转换?

C#一旦主线程hibernate,所有线程都停止了

我有一个运行Producer-Consumer模型的类,如下所示: public class SyncEvents { public bool waiting; public SyncEvents() { waiting = true; } } public class Producer { private readonly Queue _queue; private SyncEvents _sync; private Object _waitAck; public Producer(Queue q, SyncEvents sync, Object obj) { _queue = q; _sync = sync; _waitAck = obj; } public void ThreadRun() { lock (_sync) { […]

.Net“任何框架”配置

我在C#.NET 2.0中构建了一个程序,它在框架3.0和3.5下也很有用。 但是,如果.NET Framework 4.0是唯一安装的框架,它不起作用,它需要用户安装2.0。 我在谷歌找到了以下配置: 将此添加到app.config后,我的程序在.NET Framework 4.0上运行没有任何问题! 我搜索的是.NET’Any Framework’配置,如果安装了.NET 2.0,则运行我的程序,或者在.NET 4.0中运行。 这该怎么做?

枚举为字典键

假设有 enum SomeEnum { One, Two, Three }; SomeEnum是一个枚举,所以它应该从Enuminheritance,所以如果我写: Dictionary aDictionary = new Dictionary(); 编译器抱怨它不能隐式地将SomeEnum转换为Enum?

.NET 3.5的哪些function可以在.NET 2.0应用程序中使用?

我有一个我在Visual Studio 2008中开发的应用程序,但项目设置为.NET 2.0。 该应用程序将在仅安装了.NET 2.0的盒子上运行。 我知道我可以使用.NET 3.5 c#编译器的一些function,并将我的代码编译为.NET 2.0运行时理解的MSIL。 我可以在.NET 2.0应用程序中使用.NET 3.5的哪些function? 编辑:我想到的是扩展方法,Linq,lambdas,对象初始化器,集合初始化器和其他编译器糖果。