03 2012 档案
摘要:webHttpBinding支持流传输和缓存模式2种,如果要提供文件下载,肯定是要选择流传输模式的,不然文件要全部加载到内存后才会发送出去,不但占内存开销大,还影响了发送响应的速度。问题是流传输下面,自动使用了Transfer-Encoding:chunked的方式,这种方式将不告知客户端文件长度,即使我服务器设置消息头也没用,客户端就是得不到长度,导致了客户端以为我服务端不支持断点续传,甚至多线程下载都不能使用,除非自己开发一个下载软件,反正传统的下载软件都不支持,唯独NetTransport还能尝试在不知道是否能续传的情况下,发送续传指令,算是最人性化的软件了。想来想去,只有一个方法可以考
阅读全文
摘要:以前喜欢DataTable,觉得它通用性强,只要一条SQL语句就可以自动映射出所有的列;相比之下,实体类必须提前创建好,映射的时候又太死,还绕了个圈不直接。现在能力提高了,终于发现了实体类的优势,那是DataTable远远不能相比的,只不过目前有一个自己写的项目还没完成,是基于DataTable的,还不能立刻使用实体类,真的可惜。特别说明:我要说的实体类,绝对不是EF等现有的ORM框架,我根本没看过那些框架,我仅从自己的经验得出实体类的强势,并加以改良,我敢说,现有的著名框架都没达到我这个程度。先说说DataTable的局限性,它的灵活性带来的一个最大的问题就是:开发通用模块不方便。在数据库.
阅读全文
摘要:上传:如果服务端不存在,添加服务器端文件,同时添加数据库记录,引用计数为0;如果服务端存在,不添加文件,不添加数据库记录,将已有数据库记录返回给客户端使用。删除:不删除服务器端文件,不删除数据库记录。上传和删除动作都在客户端做引用计数统计,每次上传,引用计数+1,每次删除,引用计数-1,最终保存时,将引用计数的最终值写入数据库,但引用计数不得小于0(小于0的情况不可能发生,如果发生,则程序有BUG)。如果取消保存,引用计数的修改放弃,也不会影响服务端文件。服务端引用计数为0的文件,可设置生存期,过期的自动删除,通过数据库代理即可做到,也可以通过程序执行。
阅读全文

浙公网安备 33010602011771号