QPG分布框架V1.1 BETA2说明

谢谢一些使用朋友提供的反馈.
最新的代码在这里下载
本次改动:
1) 把SocketHelper拿出来,供其他非.NET的客户端参考.
2) SocketHelper也改成同步方法,修正了原来的DataSet不能在主线程使用的问题.
3) 在容器中增加了查看组件依赖关系的方法,实例代码如下:

[STAThread] 
        
static void Main(string[] args)
        
{
            System.Collections.IDictionary ht
=new Hashtable();
        
            ht.Add(
"bank1",typeof(AccountDao));
            ht.Add(
"bank2",typeof(AccountDao));
            ht.Add(
"bank.service"typeof(BankService));
            ht.Add(
"bank.facade"typeof(BankFacade));



            DbContainer container 
= new DbContainer(ht);

            AccountDao bank1
=container["bank1"as AccountDao;
        
            container.createTables(
"DB1");
            container.createTables(
"DB2");

            bank1.CrateNewAccount(
"alex",10000);
            ht
=container.GraphNodes ;
            
foreach(QPG.Utility.ComponentNodeInfo info in ht.Values)
                Console.WriteLine(info);

            Console.WriteLine();
            Console.WriteLine(
"bank.service要使用的组件:");
            ht
=container.getDependents("bank.service") ;
            
foreach(QPG.Utility.ComponentNodeInfo info in ht.Values)
                Console.WriteLine(info);

            Console.WriteLine(
"bank.service被以下组件使用:");
            ht
=container.getDependers("bank.service") ;
            
foreach(QPG.Utility.ComponentNodeInfo info in ht.Values)
                Console.WriteLine(info);
        
            
while (Console.ReadLine()!="q"{
            }

            container.dispose();
            
        }

4) 在MonoRail中测试SocketHelper可以调用服务了



注意事项:
  在数据量大时最好使用容器的处理,速度约是SocktHelper的3-4倍.主要原因估计是用SDK中的反序列化比较慢.
  MR演示中用虚拟目录则要修改about.aspx

alex
posted @ 2006-01-09 13:36  成为-行动-拥有(BeDoHave)  阅读(2764)  评论(1编辑  收藏  举报