珂珂的个人博客 - 一个程序猿的个人网站

最新发布

[未分类]

通过配置创建IOC 实例

admin 阅读(1346) 评论(0)

基于分层的接口开发,我们需要一个IOC 来管理,到处都 new对象显然是不明智的做法。虽然有很多第三方IOC框架,不过还是自己来实现一个简单的。 考虑到性能问题,不能每次都重新创建,需要一定的缓存技术。asp.net 中有一个缓存类System.Web.Caching.Cache,在winform或是wpf中也可以使用,但要引用System.Web.dll 这个dll是为web设计的,用来引用在桌面应用程序里面,似乎不太合适, 经过搜索,知道了微软在net 4 里面添加一个缓存类MemoryCache 类。它们都能监测文件的改变,所以改变ioc的配置文件都会实时生效。 我把IOC配置文件 [...]   阅读全文

[未分类]

阿里云同步工具

admin 阅读(1644) 评论(0)

为什么开发这个工具呢,因为自己网站的图片是存储在阿里云上的,但是后台管理确实直接传到本地的,不直接传到阿里云,因为网络不好,上传会很费时。 阿里云有提供官方的sdk工具,不过没有达到我想要的效果,我就是简单的本地文件是什么结构阿里云上就是怎么样的。之前是按数据库来查询的,因为我上传文件数据库会有记录,还有个字段标志是否上传到阿里云,不过后来改善后不需要数据库,直接做成了文件系统同步。 原理很简单,就是递归本地目录,记录文件的路径和MD5值,再去阿里云查询如果不存在则上传,如果MD5不一样也上传,如果阿里云有但是本地没有则可以删除阿里云的文件(可选)。 代码还是有点多,我用WPF做的,需要特 [...]   阅读全文

[未分类]

说说我的博客由来

admin 阅读(1183) 评论(0)

然后某个时间又想实现一个站点多个域名展现不同内容,因为只有虚拟空间,不利于架设多个站点,于是又改版成多用户博客系统。后来有云服务器后又拆分了。反正分分合合、做做停停终于到现在这个样子.... [...]   阅读全文

[未分类]

目录同步工具

admin 阅读(1440) 评论(0)

经常需要将本地的网站发布到服务器上,觉得太麻烦,有时经常需要整个目录拷贝,于是就诞生了这个目录同步的工具。该工具需要一个服务端配合,我这里就用asp.net 的 ashx处理,有能力的可以改成TCP 传输。原理就是对比服务器文件的SHA1,如果相同就不用上传了,所以能节省不少时间。考虑到方便,我将配置文件写成了xml 这样每次选择对应配置就行了,配置还加入了一个忽略文件列表。我自己的网站也是这样上传的。服务端代码,主要处理列出所有文件数据、上传、删除。usingSystem; usingSystem.Collections.Generic; usingSystem.IO; using [...]   阅读全文

[未分类]

winform一键发布工具

admin 阅读(1434) 评论(0)

由于现在做的系统是基于Winform的,在服务器上需要发布,挺麻烦的,而且改动一点点就得全部上传,忍耐了很久终于做了一个一键发布的工具。原理跟目录同步差不多,只不过要做一些特殊处理。先获取本地的最大版本号,再请求服务器更改,服务器把上面最新的版本复制一份到新版本文件夹(目的是保留老版本)。然后再跟目录同步工具一样,但要排除之前的版本文件夹。同样,需要一个服务端ashx文件配合usingSystem; usingSystem.Collections.Generic; usingSystem.IO; usingSystem.Web; usingSystem.Linq; usingSys [...]   阅读全文

[未分类]

FYJ.Blogs更新记录

admin 阅读(2371) 评论(2)

2014-6-15本来之前是用静态html文件作为文章缓存,当有几千篇文章的时候,发现超出虚拟空间文件最大个数限制。于是准备用SQLite 但是发现64位下很有问题,后来改成一个叫STSdb4 的本地nosql 来缓存。 [...]   阅读全文

[未分类]

数据库同步工具

admin 阅读(1753) 评论(1)

由于需将本地数据库同步到服务器上,其实微软有订阅和发布,不过我是没搞清楚,我只需要简单功能。之前的版本是这样的后来发现有局限性,比如新增表后需要改代码重新编译,而且每次需要选择数据库后来设计成了可配置的其实原理很简单,已经可以达到我的目的了,两个数据库的表必须完全一样,当然列的顺序没关系,而且必须有一个唯一主键和一个最后修改时间列,时间列用来判断本地的数据是否比服务器新。先查找本地有的主键而且服务器没有则需要新增,如果本地有服务器也有但本地时间较新则需要update,如果服务器有主键而本地不存在则需要删除服务器上的。这个对于多种数据库都可以。前台XAML代码<Windowx:Class [...]   阅读全文

[未分类]

采集工具?

admin 阅读(1303) 评论(1)

<Window x:Class="Blogs.Tools.Gather.MultiGatherWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:FYJ.Winui.Controls;assembly=FYJ.Winui" xmlns:u [...]   阅读全文

[未分类]

股票工具

admin 阅读(1667) 评论(0)

<Window x:Class="StockTool.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:FYJ.Winui.Controls;assembly=FYJ.Winui" xmlns:util="clr-na [...]   阅读全文