国产化之路 Linux Mono下的asp.net 开发笔记(一)

2024-06-20 13:33:56 浏览数 (3)

     最近想研发一下国产化的软件架构,又不想放弃多年开发的.net,基于此搭建了debian操作系统、Jexus web服务器和达梦数据库,架构继续研用自研发的Craneoffice.net。

    以下是部署及开发过程中遇到的问题,解决后觉得有必要记下要点,希望与大家分享:

  1. c#中 类似 (DataSet) ds 这种强制转换需要写成 ds as DataSet

         否则会遇到 System.InvalidcastException错误

     2.Page_Load 事件在C#里可以不区分大小写,但在Linux下,因写把 l 写成小写,造成该事件

        函数被忽略而无法执行

     3.给达梦8数据库存储过程赋参数的时候,添加参数的顺序更重要,参数名居然不重要,所以最          好传递的顺序与存储过程编写的参数顺序一致

     4. asp:button 按钮的c#后台点击事件方法无法捆绑,点击不响应,可能是因为没有标注

 public 关键字

     5.目录的结构一定要是 / ,而且区分大小写,否则会创建、查询目录或文件失败

     6.web应用的访问网址也区分大小写

     7. web.config中达梦数据库连接串 UseId 官方文档可能有问题,会在JEXUS中报错,如下片               断:

        <appSettings>

            <add key="JaneConnection"                 value="Server=localhost;User=ENROLL_SA;PWD=111;Connect Timeout=50" />

       </appSettings>

      如标红,改为User关键字即解决。

     8. 诸如传参GUID类型时会遇到达梦报6007错误,类型转换异常错误,如以下代码

         DmParameter para = new DmParameter("rowCid", DmDbType.VarChar);

         para.Value = new Guid(@rowCid).ToString();

记住,一定要ToString()一下

     9.ms sql server 中 convert(varchar(10),getdate(),20) 转换 在达梦数据库里该函数只有两个参数

         Convert(varchar(10),getdate()),实现等价的转换需要使用 to_char(getdate(),’yyyy-mm-dd’)

1 人点赞