摘要: 因为业务需要,搜集了一些.net操作pdf的一些资源,特在此分享。1、如何从 Adobe 可移植文档格式 (PDF) 文件中复制文本和图形http://support.microsoft.com/kb/212318/zh-cn 2、导出到 PDF 文件·[SQL Server 2008 联机丛书(2008 年 8 月)]http://msdn.microsoft.com/zh-cn/library/ms159713.aspx3、100% .NET component for rendering PDF documentshttp://www.codeproject.com/KB/sh 阅读全文
posted @ 2013-06-27 11:38 汉水浪子 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 讲述了如何通过iis的webdav支持实现客户端的office直接编辑服务器上的文件,本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件。实现的关键:模拟IIS,自己实现一个webdav的服务器端。首先,我们简单了解一下webdav:webdav,中文可以翻译为网络分布式协作协议,它解决了http协议中一个问题:http无法实现版本和单访问控制。什么是单访问控制呢?假设我们有一个页面编辑某条数据,这个页面可以同时被多个用户使用,那么最终的数据是最后一个用户提交的数据,而其他用户是不知道的.我们的99%的web程序都存在此问题,当然通过编码可以解决,但htt 阅读全文
posted @ 2013-06-27 10:55 汉水浪子 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 因为项目的关系,研究了一下Office的在线编辑功能,写出来共享一下。Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件。IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav的服务器端,可以很容易的实现office(word,excel等)的在线编辑.可以简单的实验一下:确保IIS的webdav扩展安装并被启用了,建立一个虚拟目录test,在其中放一个word文档a.doc,然后打开word, 文件->打开->输入word文档的访问url(http://localhost/test/a.d 阅读全文
posted @ 2013-06-27 10:53 汉水浪子 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 在之前的文章中,已经开发了一个简单的WebIM,但是这个WebIM是在独立的页面中的,今天发布的WebIM是一个可以嵌入到自己网页中的版本,你只需添加少量的代码,就可以在页面中嵌入一个WebIM。不过目前这个WebIM的功能比较简单,如果大家有什么需求可以在评论中提出,或通过WebIM与我联系。以后可能还会将云翔在线软件平台中的网盘等在线应用集成进来。源代码下载下载源代码后,按以下步骤操作就可以将WebIM嵌入到网页中。1.将Release中的Bin,App_Data和YunXiang三个文件夹拷贝到网站的根目录下。2.在将要嵌入WebIM的页面中添加一下引用:<link href=&q 阅读全文
posted @ 2013-06-18 17:49 汉水浪子 阅读(525) 评论(1) 推荐(0) 编辑
摘要: WebIM系列文章在一步一步打造WebIM(1)一文中已经使用Comet实现了一个简单的WebIM,那么,Comet究竟和一般的打开网页有何区别,本文将通过编写一个简单的HTTP服务器来说明两者的区别。所谓网站,其实可以理解为服务器上的一个应用程序,该应用程序创建了一个Socket并在80端口(一般是80端口)上监听,并接受和处理浏览器发送过来的HTTP请求。当你打开网页时,浏览器会发送一个HTTP请求到服务器,之后浏览器将一直等待知道服务器发送完HTTP回应。当服务器接受到这个http请求后,就会解析HTTP请求的头部,根据报文中的信息向浏览器发送数据(网页,图片,数据等),当服务器发送完数 阅读全文
posted @ 2013-06-18 17:47 汉水浪子 阅读(288) 评论(0) 推荐(0) 编辑
摘要: WebIM系列文章在一步一步打造WebIM(1)和(2)中,已经讨论了如何开发一个WebIM,并且使用缓存来提高WebIM的性能,本文将编写一个程序模拟大量用户登录来对WebIM进行性能测试。1.200个用户同时在线测试一将模拟200个用户同时登录的聊天室,每个用户以1条消息/秒的速度发送消息(由于网络和服务器处理延迟,可能多于1秒)环境参数操作系统:Window Server 2003内存:2GCPU:AMD Athlon(tm) 64 X2 Dual 2.4GHz服务器:IIS6数据库:SQLite消息缓存数量:200测试过程截图测试结果测试结果解析测试程序启动了200个接收线程和200个 阅读全文
posted @ 2013-06-18 17:46 汉水浪子 阅读(484) 评论(0) 推荐(0) 编辑
摘要: WebIM系列文章在一步一步打造WebIM(1)一文中,已经介绍了如何实现一个简单的WebIM,但是,这个WebIM有一个问题,就是每一次添加消息监听器时,都必须访问一次数据库去查询是否有消息,显然,如果用户比较多时,必然对数据库的压力比较大。解决这个问题的一个方法就是先将消息缓存在内存中,不立即写入数据库,等到缓存满了才写入数据库。本文将介绍如何实现消息缓存。基本思路实现一个消息缓存管理类,以用户为单位缓存所有消息,每一个用户对应着一个List<Message>,保存着该用户新收到的消息,消息缓存管理用一个Hashtable保存着所有用户对应的List<Message> 阅读全文
posted @ 2013-06-18 17:45 汉水浪子 阅读(459) 评论(0) 推荐(0) 编辑
摘要: WebIM系列文章之前笔者发布的云翔在线软件平台中已经包含了一个功能相对比较齐全的WebIM,这个系列的文章就是介绍如何开发出功能类似的WebIM,在文章开始前,先介绍一下相关的技术:1.CometComet 是一种新的 Web 应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。在.NET要实现Comet就要用到IHttpAsyncHandler,在开始阅读文章前,建议先了解一下IHttpAsy 阅读全文
posted @ 2013-06-18 17:15 汉水浪子 阅读(335) 评论(1) 推荐(0) 编辑
摘要: 今天遇到一个问题:oracle中的OracleOraHome90TNSListener服务现在启动不了了, 之前都可以正常启动,现在启动后是一个错误:在本地计算机无法启动OracleOraHome90TNSListener服务.提示信息是“错误1067:进程意外终止.”查找了一下是ip地址或机器名变动过的原因, 解决方法如下:修改一下listener.ora这个文件中关于IP地址的信息将listener.ora和tnsnames.ora里面的IP地址改成与本地计算一样的。或使用Net Manager->本地->监听程序,将监听位置修改成正确的IP地址保存后就行了 这是因为监听文件 阅读全文
posted @ 2013-05-24 16:47 汉水浪子 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 事件查看器中显示:Agent process exited abnormally during initialization. 这个问题以前别人也遇到过,不过最后没有解决。 我GOOGLE了一下,原因大致有2个,一个是你改了你的机器名, 还有个情况是你环境改变后,oracle不知道为什么会去使用ip,而不是你的机器名。(我遇到的是这种) 我从公司的局域网到家里的局域网,环境不同,居然就启动不了了。。。 还是说说解决方法。 命令行里输入emctl start dbconsole 显示Environment variable ORACLE_SID not defined. Please defin 阅读全文
posted @ 2013-05-24 16:29 汉水浪子 阅读(1578) 评论(0) 推荐(0) 编辑