Wilson's profile灵感之源PhotosBlogLists Tools Help

Wilson Chan

Occupation
Location
Interests
这个blog不再更新,请访问:http://unruledboy.cnblogs.com
There are no music lists on this space.

灵感之源

奋斗中我,喜欢Aganippe(灵感之源)这个名字,没有灵感的程序人生实在太枯燥乏味了,就像人生失却了色彩。 这个blog不再更新,请访问http://unruledboy.cnblogs.com
6/10/2005

开源.NET(C#、VB.NET、J#等)脚本执行引擎(利用CodeDOM)

微软似乎没有明确地提供一个现成的script执行解决方案,我们能想到的就是VSA和CodeDOM。

先看看这个脚本:

 1<dnml>
 2
 3<reference assembly="System.Windows.Forms.dll" />
 4
 5<language name="C#" entryPoint="Thingy" />
 6
 7<waitForUserAction value="true"/>
 8
 9<scriptCode><![CDATA[
10
11using System;
12using System.Windows.Forms;
13
14public class Test
15{
16public static int Thingy()
17{
18    Console.WriteLine("This is a test");
19    Console.WriteLine("This is a another test");
20    Console.WriteLine("Venkat");
21    MessageBox.Show("Neat");
22
23    Test2 two = new Test2();
24    two.Stuff();
25
26    return 5;
27
28}
29}
30
31public class Test2
32{
33    public void Stuff()
34    {
35        Console.WriteLine("Instance call");
36    }
37}
38
39
40]]></scriptCode>
41
42</dnml>
43
44

在CData部分,很熟悉,是吗?对,就是C#。其它部分是:

1、reference:命名空间引用;
2、language:语言;entryPoint是入口;
3、waitForUserAction:等待用户反应(脚本执行完后);

它的原理就是应用CodeDOM在内存中编译和运行这个脚本。

这是原文:Dot Net Script

我修改了一下,将其改变为类库+一个小执行器,更加容易嵌入到你的应用中,这里下载:DotNetScriptEngine.zip

Dot Net Script的特别之处在于它用了XML来承载脚本,看来起更像脚本。而且代码执行能返回int类型值。


类似的项目还有:NScript - A script host for C#/VB.NET/JScript.NET,不过这个只支持C#,而且不能返回值,但它的架构好很多。
5/11/2005

动态模版系统/引擎(开源)推荐

unruledboy.1qazxsw2大家平时都需要用到动态模版技术吧?就是利用模版,把某些动态内容解析为最终内容,如html等,方便不用hard code。

NVelocity(http://sourceforge.net/projects/nvelocity)是从java编写的velocity(http://jakarta.apache.org/velocity/)移植的.net版本,是java界超强的模版系统,你可以用它来实现你自己的jsp!

现在介绍一个很短小精悍的模版引擎:http://www.codeproject.com/csharp/AderTemplateEngine.asp,使用c#2.0编写,也有1.1版本,但不是官方的:http://www.arcturus.com.au/TemplateEngine-1.1.zip。这个就简单点,但仍然很强大,说多了也难解析,看了例子就双。

均为GPL,请小心使用。
5/10/2005

怎么缩小ms sql 的日志

跟大家分享一下怎么缩小ms sql 的日志,因为使用时间长了,日志会膨胀得很夸张,所以可以执行以下sql语句,非常安全,我反复测试过很多遍:

DUMP TRANSACTION 你的数据库名 WITH NO_LOG
BACKUP LOG 你的数据库名 WITH NO_LOG
DBCC SHRINKDATABASE(你的数据库名)
EXEC sp_dboption '你的数据库名', 'autoshrink', 'TRUE'

CIMS系统通用监控消息通知系统

CIMS系统通用监控消息通知系统是我在新公司,独立开发的一套通过提供标准统一的功能接口,对特定对象进行监控(包括数据库监控、系统资源监控、文件系统改变监控等),根据指定的业务规则,发现改变,即为业务系统提供的统一消息通知机制,统管各种消息渠道实现消息对指定客户终端的传递。

接合实际情况,消息交互系统采用C/S结构,消息服务器以Windows服务形式在业务系统的服务器端运行,统一分发业务系统的即时消息。

服务器端采用微软.NET(C#)开发,客户端分别以VB6和.NET(C#)开发。

系统业务
1. 服务器端定时(可配置)扫描指定数据库,如根据指定业务规则扫描后发现数据改变,则通过各种渠道发送消息;
2. 服务器端可向各客户端发送数据库信息改变消息;
3. 客户端可在数据改变后,连接服务器端,请求消息通知;
4. 消息发送之前,先根据业务系统的用户权限进行通知权限判断;
5. 权限判断成功则通过消息脚本模版格式化/生成消息内容模版;

消息渠道
综合当今各种流行的消息渠道,消息交互系统实现以下7种渠道:
1. File Log(日志文件)
2. DB Log(数据库日志)
3. HTTP(页面请求记录)
4. Email(电子邮件)
5. IM(即时消息)
6. MSN
7. SMS(短信)

Framework(总体框架)
说明:CIMS的总体框架是CIMS的核心部分,包括以下部分:
a) 服务器端消息发送服务,实现根据业务请求指定的发送渠道(方式)发送指定消息到指定的客户端,方式包括上述的7种渠道。
b) 服务器端消息触发器,负责监听客户端的请求,根据用户权限管理,校验请求合法性,并把请求转化为任务提交给服务器端消息发送服务;
c) 消息模版引擎,为服务器端消息发送服务提供业务消息的格式化输出功能;
d) 数据访问组件,用以统一访问各种数据库类型,包括MS SQL Server、Oracle、ACCESS等;
e) 任务定时器,用以实现按指定时间进行数据库扫描;
f) 多线程消息通知队列,用以以队列形式把消息通知发送给客户端;
g) 通过抽象的消息发送工厂接口,实现File Log、DB Log、HTTP Log、发送邮件、IM、SMS、MSN消息等。

重大改变!DotMSN于今天开放了源代码,并升级到2.0版本!!

最好用的MSN组件DotMSN于今天终于开放了源代码。

刚刚公布的2.0版本有了很大的改进:
1、引入了著名的Mentalis.org开发的Proxy类库,这样就实现局域网内proxy的可能。
2、新P2P架构!
3、Converation下新的Switchboard,原有的Conversion属性方法都改造到该新类中。
4、新的例子,还加入了UnitTest。

对比编译后程序集大小就知道了:196kb:86kb,大了一倍多:D

我们还可以注意到:EmoticonCollection还没有完成,而且DNOWSerialWrapper没有包含进来估计得下一版本。

我从来没有办法让它成功传输文件,不知道大家有没有遇到这种情况

因为改变很大,原有应用如要升级到dotmsn 2.0,得好好看例子改代码了。

例子开发应该在1024*768,让我等800*600真不爽。

这里下载:http://www.xihsolutions.net/dotmsn/download/dotmsn-full.zip,最新2.0版本,含所有源代码、例子和文档。

 
There are no photo albums.
No list items have been added yet.