转贴:pb11系统转到.NET总结 www.kosney.cn

本文分享了将PowerBuilder 9应用程序迁移到浏览器/服务器(BS)架构的经验。作者利用PowerBuilder 11 Beta版本提供的工具进行迁移,并记录了在此过程中遇到的问题及解决方案,包括pb2cs.exe错误的调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自 http://bbs.kosney.cn

www.kosney.cn 

由于历史原因,部门的系统大多是采用pb开发的,而且有了很多系统的积累,所以不可能一下子全部扔掉,但是,客户对纯BS结构的系统呼声越来越高,不得已必须要把原来的PB9系统转到BS上。

感谢上帝,PB11 beta版出来的真是时候,它提供工具允许把PB11的系统转到.NET上。于是有了我今天的痛苦经历:首先,自己通过pb11写了一个短小的,简单的程序,能很正常地转到.NET上了,而且运行正常。但等我把公司的程序移上去就出问题了,在Generate Assembly files 时,总是失败,而且还报一个 pb2cs.exe 文件的执行错误,到网上也没有找到解决办法,绝望之极!

pb2cs.exe错误的原因总结:
1、在执行转.NET操作之前,一定要确保在PB11中,Generate整个工程没有错误。
2、如果你引用了pbd,则请引用pbl源程序,这点是可以理解的,因为转换过程,是要通过pb11生成源代码的,要是只给一个pbd就可以生成源代码,那么pb自带的web service支持库,肯定就要被人家破解了,呵呵。

目前就是以上的总结,欢迎大家和我交流。

 

问题:同一个程序发布后,有时候IE有地址栏、工具栏,有时候没有地址、工具栏。
回答:在IE中输入地址的时候不要省略default.aspx或者其他*.aspx,比如http://www.kosney.cn:80/default.aspx

4。不知道PB有没有提供方法去判断程序是在C/S模式下运行,还是在B/S模式下运行。在B/S模式下又怎么去获取用户的IP地址、IE版本等信息。。我所知道的正阳是提供了这样的函数的。
回答:
你可以在default.aspx的
protected override PBSession CreateSession(){
//这里的applicationName就是你的应用名字

applicationname.SetIPAddress(System.Web.HttpContext.Current.Request.UserHostAddress);

}
并且在
applicationName.aspx.cs中增加如下代码:
     private static string sIpAddress;

    public static void SetIPAddress(string _IPAdress)
    {
        sIpAddress = _IPAdress;
    }
    
然后在你要使用的地方调用applicationName.sIpAddress即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值