摘要: 其实微软有一篇《异步 HttpWebRequest、接口实现及其他》对此种现象解释得非常清楚, 我这边只是做一个笔记。 最常见的就是使用HttpWebRequest的时候,调用Send方法出现这种错误, 这是因为: 因为dotNET的ThreadPool中提供了25个自由线程/CPU(可以在 machine.config中修改此数字限制),所以一旦都被占用了,就会报告InvalidOperationException异常. 阅读全文
posted @ 2005-04-11 23:06 老兵笔记 阅读(6527) 评论(8) 推荐(0) 编辑
摘要: 在VC++中我几乎每一个Windows Service都是采用I/O完成端口。至于在C#中如何使用I/O完成端口,一直很少见人提及。 William Kennedy的三篇文章《IOCP Thread Pooling in C#》,对实现这种机制很有帮助,唯一美中不足的是,它只能把int数值压入完成端口,而无法像VC++中那样可以将接口指针/BSTR字符串等等转为OVERLAPPED*。我试了很多遍Marshal.PtrToStructure/StructureToPtr 和StringToBSTR,总是无法成功通过I/O完成端口传递string。 我还曾经用以下这2个函数将string转换为byte[],然后将byte[]转换为NativeOverlapped。总是不行。 阅读全文
posted @ 2005-04-11 23:02 老兵笔记 阅读(5786) 评论(18) 推荐(0) 编辑
摘要: 摘要:简单介绍了使用了WSE2.0的应用程序如何启用WSE2.0自身的Trace。 阅读全文
posted @ 2005-04-11 22:50 老兵笔记 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 对于用HttpWebRequest加载证书请求远端https服务器时,发生的 “基础连接已经关闭: 无法与远程服务器建立信任关系。”/ “The underlying connection was closed. Could not establish a secure SSL/TLS connection”错误,我们可以用如下方式解决。 阅读全文
posted @ 2005-04-11 22:46 老兵笔记 阅读(17446) 评论(18) 推荐(2) 编辑
摘要: 如果你遇到了“The underlying connection was closed. Could not establish a secure SSL/TLS connection"”的异常,那么请设置 hwrRequest.KeepAlive = true; 如果您使用的是CreateFromSignedFile来创建证书,那么请您务必注意,即使CreateFromSignedFile没有能够从文件中创建证书,甚至即使没有找到该文件,他也不会抛出异常,也不返回null,只是他的各个字段为null。 阅读全文
posted @ 2005-04-11 22:42 老兵笔记 阅读(3239) 评论(0) 推荐(0) 编辑
摘要: 默认情况下, string[] strArray = System.Configuration.ConfigurationSettings.AppSettings.GetValues("Uri"); 是无法读取配置文件中多个同Key的value的。如下所示的配置: <appSettings> <add key="Uri" value="uri1"/> <add key="Uri" value="uri2"/> <add key="Uri" value="uri3"/> </appSettings> 用MSDN告诉我们的GetValues是读不到的,只能读到最后一个value。 阅读全文
posted @ 2005-04-11 22:40 老兵笔记 阅读(1958) 评论(1) 推荐(0) 编辑
摘要: 要想在SR.Strings中使用中文字符串资源,必须这样: 把你的SR.Strings文件保存为UTF-8编码的(具体操作是:VS.Net2003-文件菜单-高级保存选项,选择“Unicode(UTF-8 带签名) - 代码页 65001”), 然后保存该文件。这时候,SR.resx中就会出现我们写的中文字符。 如果不这么做,自动生成的SR.resx总是无法生成中文字符。 阅读全文
posted @ 2005-04-11 22:38 老兵笔记 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 这种传入方式很利于我们统一应用中的错误描述的生成方式。比如我们可以定义错误描述在SR.strings文件中: LBS_Request_CannotConnectServer = 无法连接到远端LBS网关服务器:{0} 那么在实际调用时就可以这么: catch(WebException ex) {... sb.Append(""+ SR.LBS_Request_CannotConnectServer(_Url) +"\n"); ... } 阅读全文
posted @ 2005-04-11 22:36 老兵笔记 阅读(1375) 评论(8) 推荐(0) 编辑