随笔分类 -  .NET Framework

摘要:当一个服务器有多个 IP 时, 在使用 webclient 对象需要指定出口 IP public class MyWebClient : WebClient { private IPAddress ipAddress; public MyWebClient(IPAddress ipAddress) 阅读全文
posted @ 2020-05-09 16:20 匡匡 阅读(387) 评论(0) 推荐(0)
摘要:最近升级了一个项目, 把框架从 .NET2.0 升级到 .NET4.0, 把相关的 DLL 也更新了, 如 Newtonsoft.Json。 今天客户有测试说有一个功能出错了, 提示找不到 Newtonsoft.Json.Net20, 打开这个文件一看, 发现使用了一个第三方的组件, 这个第三方的组 阅读全文
posted @ 2020-03-13 16:13 匡匡 阅读(295) 评论(0) 推荐(0)
摘要:有个客户有个发文功能, 发文上传的是一个红头 WORD 文件, 需要在线预览, 以前有这个功能, 是使用 aspose.words 组件把 word 另存为了 pdf 文件, 然后再显示给用户在线查看,但是在使用 aspose.words 组件转换为 pdf 的时候有些情况会变形,因为是基本是红头文 阅读全文
posted @ 2020-01-09 08:38 匡匡 阅读(150) 评论(0) 推荐(0)
摘要:.NET CORE 的程序集加载管理和以前的 .NET 发生了很大的变化, 在 .NET CORE 里, 程序集的加载, 依赖了 xx.deps.json 文件, deps.json 文件里,定义了程序所需有的所有程序集以前程序集之间的依赖关系。 所以如果程序集的信息没有定义在 deps.json  阅读全文
posted @ 2019-12-06 10:30 匡匡 阅读(1735) 评论(0) 推荐(1)
摘要:有个系统, 需要适应不同类型的数据库(同时只使用其中一种),如果把数据库操作层提取出来,然后针对不同的数据库使用不同的 DLL, 再根据不同的项目使用不同的库, 在以前的 ASP.NET 中, 直接把相关的 DLL 复制到 BIN 目录就可以了, .NET CORE 把 DLL 复制过去,系统不会自 阅读全文
posted @ 2019-12-06 10:04 匡匡
摘要:这几天给系统做第三方集成, 需要调用另一个软件的一个接口, 通过 HTTP 的方式调用,调用代码也挺简单的: string serviceUrl = string.Format("{0}/{1}", this.BaseUrl, path); HttpWebRequest request = null 阅读全文
posted @ 2019-08-01 14:54 匡匡 阅读(469) 评论(0) 推荐(0)
摘要:BlockingCollection 集合是一个并发安全的集合,而且设计用来实现类似于消息队列的功能,生产者、消费者模式。 阅读全文
posted @ 2017-08-14 16:50 匡匡 阅读(322) 评论(0) 推荐(0)
摘要:.Net Framework 里引入了并行编程,并行编程本质上还是多线程,只是微软对此进行了封装和优化,使用多线程编程变得更简单,如下面一个例子: 如果把 100000 个工作项使用多个线程同时处理, 在以前还有点麻烦,现在就变得非常简单: 上面的代码中, 程序会根据任务项数自动分区(分区大概的意思 阅读全文
posted @ 2017-08-14 10:03 匡匡 阅读(223) 评论(0) 推荐(0)
摘要:发使用 C# 编译器编译一些项目的时候, C# 编译器可能会生成一些警告信息, 有些代码段的警告信息是程序员知道的,所以希望 C# 编译器不要对这段代码进行任何的警告。在 VS 中的项目选项中可以对整个项目设置一个警告级别, 低于某个级别的警告都不输出,这是对整个项目。还可以使用宏命令对某个代码进行警告设置, 如:class Test{ int unused; int assigned = 3;}在生成的时候, 会生成以下警告:warning CS0169: The field 'Test.unused' is never usedwarning CS0414: The fie 阅读全文
posted @ 2013-10-18 21:00 匡匡 阅读(2542) 评论(0) 推荐(0)
摘要:最近写了一个程序,里面大量使用了线程,在线程与 UI 界面需要交互的时候才关注了AsyncOperation 类,使用AsyncOperation 类之前,在 MSDN 中大概看了一下文件,然后测试了一下,没什么问题。我最初以为是AsyncOperation类把一个方法 Post 到 UI 程上去执行,今天我把程序调整了一下,把对AsyncOperation 对象所在的类放在了 Application.Run(new MainForm()) 代码之前进行初始化,结果事件一 Post 到就出错了,提示访问线程不是 UI 所在的线程,看到这个错误,马上把初始化代码移到 MainForm 的 Loa 阅读全文
posted @ 2011-10-12 22:34 匡匡 阅读(661) 评论(0) 推荐(0)
摘要:这两天写一个小程序,里面用到线程来操作数据,线程中操作了一个静态的 Dictionary 对象,但是有时候操作这个对象的时候会提示一个NullReferenceException 的异常,刚开始以为是添加至这个 Dictionary 的对象是个空,但是经过检查和调试,发现要被添加的对象不可能为空,正百思不得其解的时候,就动用去加一段同步的代码,结果一加上去异常就没有了。从而可以知道是没有同步操作, Dictionary 内部引发了错误,但是提示一个 NullReferenceException 的错误,真是误导开发人员啊。 阅读全文
posted @ 2011-10-02 14:09 匡匡 阅读(244) 评论(0) 推荐(0)
摘要:现在不管是 WEBFORM 还是 WINFORM 中,.Net Framework 都自带了了很多控件,再加上使用一些第三方的控件库,工具箱里的控件和组件是越来越多了,有时候要使用一个控件的时候,在工具箱中一个一个找,有时候眼花了,一下子还找不到。在 VS2010 中可以在工具箱中查义控件或组件了,在工具箱挪用焦点的情况下,按控件的开始的字符,就可以定位到相应的控件,如快速按输入 ‘t... 阅读全文
posted @ 2010-04-14 23:22 匡匡 阅读(2971) 评论(9) 推荐(1)
摘要:在 Visual Studio 的每一个版本里都有一个全屏显示的功能(视图菜单里的“全屏显示”),但在 VS2010 之前的版本里,如果使用“全屏显示”,全屏后 VS 窗口占据整个屏幕,把 Windows 的任务栏也给覆盖掉了,这样要切换到其他窗口很不方便,所以这个功能在我眼中基本变成了鸡肋,因为我只是想要把代码编辑器最大化,把其他的工具栏和其他做停... 阅读全文
posted @ 2010-04-14 17:15 匡匡 阅读(3128) 评论(4) 推荐(1)
摘要:今天在编写一个功能,要求很简单,代码也很简单,但最终在界面上的结果对不正确,不过还好代码简单,一个就知道是哪里出了问题,大概代码是这样子的:inti=0;[代码]我想应该 a 会等于 1 的,因为加了括号,结果是等于 0,看来基本功还是没有打扎实啊。 文章出处:我的网站 阅读全文
posted @ 2010-03-25 16:41 匡匡 阅读(328) 评论(1) 推荐(0)
摘要:今天看到一个朋友在网上考试系统中做了一首是,题是这样子的:有以下一段代码:[代码]请问这段代码,如果在“操作 IO”的地方出现 IO 异常,这段代码最后会抛着哪个异常。大家觉得呢? 文章出处:我的网站 阅读全文
posted @ 2010-03-22 13:01 匡匡 阅读(503) 评论(2) 推荐(0)
摘要:使用常规格式显示文件大小的意思是如一个文件的大小有3个G,那么在显示的时候就用 GB 作为单位来显示,如果只有几百兆,那就用 MB 作为单位来显示文件的大小等。以前在使用引功能的时候,都是使用 if 语句来检查文件的大小,以选择相应的单位。昨天发现一个新方式来处理这种需要,感觉相当的方便,以下是代码:[代码] 文章出处:我的网站 阅读全文
posted @ 2010-03-21 15:53 匡匡 阅读(1047) 评论(2) 推荐(1)
摘要:今天一同事在给客户的机器上安装系统的时候,出现了 Object reference not set to an instance of an object, 但从调用的堆椎上看,是从 .net framework 中抛出的异常:[NullReferenceException: Object reference not set to an instance of an object.] LoadLi... 阅读全文
posted @ 2008-05-04 20:13 匡匡 阅读(4461) 评论(1) 推荐(0)
摘要:以前都是使用 System.Runtime.Remoting.Messaging.CallContext 类来保存与线程相关的信息, 今天在网上看到了 ThreadStaticAttribute 类,此类也可以实现相同的功能,使用方法:publicclassClassA{[ThreadStatic]privatestaticstringm_Name;publicstaticstringName{g... 阅读全文
posted @ 2007-06-18 22:03 匡匡 阅读(822) 评论(0) 推荐(0)
摘要:下面的 API 函数是用来管理输入光标的 API 函数,下面是在使用C#时声明的这些函数:/**////<summary>///参数说明:///hwnd:要创建光标的控件的句柄///hbm:一个位图的句柄,如果指定则使用指定的位图来创建光标///nWidth:光标的宽度///nHeight:光标的高度///说明:///如果指定了hbm参数(不为IntPtr.Zero)时,将忽略nWid... 阅读全文
posted @ 2004-12-12 16:26 匡匡 阅读(616) 评论(0) 推荐(0)