代码改变世界

随笔分类 - C#

使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework

2011-11-29 16:33 by BAsil, 7548 阅读, 收藏, 编辑
摘要:之前有一个C#版本和ios版本(支持下载学生名单,点名等更多功能,该版本未上app store)的教辅助手帮助学校老师提交成绩到教务系统(浙大正方web版),一直打算用mfc写一个vc++版本的可以方... 阅读全文

注意IIS 7.0的集成管道模式下HttpApplication 请求管道事件的问题

2008-11-15 22:53 by BAsil, 639 阅读, 收藏, 编辑
摘要:今天打算把Community Server 2.0在vista IIS 7.0下跑起来,设置完虚拟目录后浏览,发现HttpContext.Current.Request抛出了System.Web.HttpException,检查了一下IIS下设置成集成管道模式,换成经典管道模式,则不抛出异常,百思不得其解,后来发现msdn上有如下一段话 不包含自定义模块或处理程序的 Web 应用程序通常无需更改即... 阅读全文

出现Unable to launch Visual Studio's Localhost Web Server问题解决

2008-10-23 15:01 by BAsil, 931 阅读, 收藏, 编辑
摘要:中文描述:无法启动Visual Studio的Localhost Web Server 郁闷了一上午,我的vs2005没有新建网站和打开网站选项,后来尝试打开Web Application来运行,结果每次都报上述错误,而vs2008工作正常,没有这个问题。而且Framework2.0文件夹下没有WebDev.WebServer.exe,怀疑没有正确安装,运行VS2005的卸载程序的添加新功能,发... 阅读全文

基于TCP的网络游戏黑白棋系列(四):游戏棋盘

2008-10-14 23:14 by BAsil, 2122 阅读, 收藏, 编辑
摘要:上一节我们讨论的游戏大厅的实现,这一节我们来看一下客户端游戏棋盘的处理关于棋盘的呈现采用了GDI的DrawImage方法,先准备一张400*400的棋盘图片和两个40*40的棋子图片(分别为黑棋和白棋),我们的思路是通过和客户端服务器的数据交互得到游戏大厅某桌的棋子信息,然后客户端直观的呈现该信息。棋盘同样可以看作一个对象,只不过这个对象我们需要从Form来继承,因为我们需要用到PictureBo... 阅读全文

基于TCP的网络游戏黑白棋系列(三):游戏大厅

2008-10-11 15:29 by BAsil, 1749 阅读, 收藏, 编辑
摘要:上一节我们讲到了客户端发送Login命令后,服务器返回欢迎信息,完成了一个简单的数据传输。这一节我们来完成游戏大厅的基本功能,我们首先思考一下游戏大厅的基本功能:1 提供可供对弈的游戏桌,游戏大厅可供多桌玩家同时游戏,为了考虑游戏大厅服务器的负载能力,应该设置一个人数的上限和桌数的上限。实际上前面提到的功能抽象出来就是一些数据的状态集合。2 当玩家登入大厅,应该直观的显示当前大厅的就座情况,方便玩... 阅读全文

基于TCP的网络游戏黑白棋系列(二):数据传输

2008-09-24 14:48 by BAsil, 2498 阅读, 收藏, 编辑
摘要:上一节给大家演示了建立连接的关键代码,连接建立好后,就可以进行数据传输了。数据传输包含从服务器端到客户端和从客户端到服务器端,两者差别不大。数据的传输,TcpClient的GetNetworkStream是关键,通过它我们可以得到NetworkStream网络流,客户端和服务器主要的工作就是对其读出和写入。关于如何构造稳定且性能好的网络应用,如何进行复杂的封包和解包,这里我们不考虑,我们使用Str... 阅读全文

基于TCP的网络游戏黑白棋系列(一):建立连接

2008-09-21 13:54 by BAsil, 2136 阅读, 收藏, 编辑
摘要:利用TCP开发网络应用程序,可以采用同步或者异步的方式,这个游戏采用的是同步的工作方式,比较简单,系列教程也主要介绍同步的工作方式。网络通信的前提就是客户端和服务器端的通信,在服务器端,程序需要不断的监听客户端是否有连接请求,已保证多个客户端的连接,服务器通过套接字识别客户端;而客户端只需要指定哪个服务器即可。一旦双方建立连接并创建了对应的套接字,就可以互相传输数据了。客户端和服务器端发送和接受数... 阅读全文

基于TCP的网络游戏黑白棋系列教程开篇

2008-09-21 13:47 by BAsil, 1228 阅读, 收藏, 编辑
摘要:看过网上很多的类似系列教程(博客园包包版网络大厅的+桥牌系统),写的很深入,感觉比较复杂,初学者不宜上手。我是在学习WCF的时候,发现自己对底层的传输原理都没有搞明白,于是又回头学习网络传输的一些知识,自己写了一个简单的网络游戏黑白棋,因此也想把学习的一个过程记录下来和初学者们一块交流。我的只是小儿科,还请网友多多包涵,高手们也不要吝惜你们的砖头。第一次写系列教程,心里没底,本来自己水平就一般,却... 阅读全文

VS2005调试Framework源代码的几点注意事项

2008-03-22 21:53 by BAsil, 2800 阅读, 收藏, 编辑
摘要:我下载了源代码,却发现总是无法调试。后来偶然发现VS2005的输出窗口显示“不包含源服务器信息”,我仔细比对了网上提供的三个step,检查了VS编译器的设置,发现了问题。我的设置Debugging->General->Enable Just My Code(Managed Only)为选中,而网上的图例未选中。修改了这个设置后,发现可以正确的调试源代码了。 不过我认为应该把这个细节强调一下,毕竟不是每个人都熟悉vs05的,我工作中一直用vs03,vs03中没有这个选项。 阅读全文

关于模板控件如何实现多数据源绑定的问题

2007-03-12 13:21 by BAsil, 3323 阅读, 收藏, 编辑
摘要:在读Clinglingboy的asp.net控件开发基础(18)时,Clinglingboy对其进行了重点讲解。可是我感觉在如何将具有IListSource接口的数据源最终转化为DataView说的还不是十分清楚,下面我这一部分再详细的说一下。首先还是贴一下关键的DataSourceHelper类 DataSourceHelperCode highlighting produced by Acti... 阅读全文

思归的“动态控件的状态问题”的分析中用WinDbg跟踪TrackViewState方法的步骤

2007-03-06 14:00 by BAsil, 3588 阅读, 收藏, 编辑
摘要:两天前,研究控件状态问题是,看到了思归的这篇文章思归的“动态控件的状态问题”的分析,对其中用跟踪TrackViewState用到的工具winDbg比较好奇,经过摸索,现在把实现的步骤列一下:1安装、部署winDbg、配置SOS,这个网上已经讲得比较多了,这里我就不多说了,列出我参考过的几个链接 Mike Taulty's Blog的 A word for WinDbg A word for Win... 阅读全文

向aspx的html代码页面拖拽自定义服务器控件出现“无效的Formatetc结构(异常来自HRESULT......)"错误解决办法

2007-03-02 10:38 by BAsil, 1276 阅读, 收藏, 编辑
摘要:今天在vs2005下从工具箱向aspx的html代码页面拖拽自定义的服务器控件出现此问题,而在向aspx的页面设计器拖拽的时候鼠标变成禁止的状态。看了一下代码,最终发现问题,为了突出问题,下面我将简化的代码列出。 namespace CreditCard{ [ToolboxData("")] class myTable1 : System.Web.UI.Control ... 阅读全文

使用DAAB3.1连接多种数据库(SqlServer,OleDB,ODBC)(原创)

2006-07-04 16:23 by BAsil, 2791 阅读, 收藏, 编辑
摘要:由于项目需要适用于Sybase 9.1.2和Sql Server 2000的数据库,刚开始使用DAAB3.1的Odbc来操作数据库,但总觉得不是十分灵活,而且Odbc连接Sql Server 2000效率也不高;感谢天行者的daab3.1使用笔记,这篇文章介绍了如何通过只修改配置文件而不改动代码的情况下实现数据库的转换。 阅读全文

有关Transaction的错误提示及正确的处理(原创)

2006-06-28 00:31 by BAsil, 2145 阅读, 收藏, 编辑
摘要:最近在写代码中处理事务的时候出现了几个问题,现在整理一下贴到网上。本文除特别指明外,均采用DAAB 3.1的Odbc类连接Sybase 9.1.2。 阅读全文

问题解决(另一个 OdbcParameterCollection 已包含带有 ParameterName“@****”的 OdbcParameter)

2006-06-25 15:09 by BAsil, 1013 阅读, 收藏, 编辑
摘要:今天在用DAAB 3.1 连接Sybase ASE 9.1.2的时候又出现了 另一个 OdbcParameterCollection 已包含带有 ParameterName"@****"的 OdbcParameter 的问题,记得我半年前写过一个关于SqlParameterCollection的文章,翻出来看了一下,还真的找到了解决办法。这篇文章我已经发布到了现在的blog上,链接是 另一个 Sq... 阅读全文

解决(另一个 SqlParameterCollection 已包含带有 ParameterName“@UserName”的 SqlParameter。)同时讨论CopyTo和Clone (原创)

2006-06-25 14:18 by BAsil, 2119 阅读, 收藏, 编辑
摘要:最近在调试SqlHelper程序的时候发现,利用从SqlCommandBuilder.DerivedParameters(command)得到的command.Parameters(为SqlParameterCollection)传给ExecuteNonQuery中的SqlParameter[],代码如下, public static SqlParameter[] getParameters(S... 阅读全文

Log4net同时按照日期和大小生成RollingFile和访问Sybase数据库配置(原创)

2006-06-09 17:29 by BAsil, 1821 阅读, 收藏, 编辑
摘要:今天想用Log4net的时候,发现连最基本的配置都给忘了,在硬盘里翻了一个小时,好容易找到了。看来以后还是要写日志阿,不是有句话叫"好记性不如烂笔头"嘛。 记录一下log4net的几个配置,这个帮助里没有例子,而且也没有详细的说明。 1. Log4net同时按照日期和大小生成RollingFile 这样生成的日志类似test.log.2006_06_09,test.lo... 阅读全文

关于ViewState不得不说的(原创,转载请声明)

2006-06-02 14:52 by BAsil, 1426 阅读, 收藏, 编辑
摘要:一直以为ViewState是把页面所有的值存储起来,而且好多的Asp.net书籍也是这么说的,或者是我比较愚笨,没有弄明白,直到最近在做动态生成控件,在更深入的了解了一下ViewState。 在我进行讲解之前,先说一下我用到的两个工具:一个是ViewStateDecoder(winform的),以前有一个webform的叫ViewState Parser,可惜Paul Wilson不提供连接了,反... 阅读全文

[导入]安装window service 中出现Set Service Login对话框

2006-05-25 23:23 by BAsil, 588 阅读, 收藏, 编辑
摘要:当弹出窗口(注:Set Service Login对话框)时,输入用来运行该服务的帐户的用户名和密码。用户名必须以domain\username的形式。(注:如果不是domain内帐户,可以使用YourComputerName\administrator或.\administrator的形式) 文章来源:http://blog.donews.com/basilwang/archive/2005/0... 阅读全文

[导入]SqlHelper的几个细节(原创)

2006-05-25 23:23 by BAsil, 335 阅读, 收藏, 编辑
摘要:最近研究了一下Microsoft的SqlHelper,设计的非常严谨,下面列一下几个细节的问题。1. 判断是否由SqlHelper内部方法打开connection,如果是内部打开的话,需要在执行完SqlCommand的时候将其关闭。 办法是在PrepareCommand中加入out bool mustcloseconnection,而在调用PrepareCommand方法中执行完SqlComm... 阅读全文