这说吧,直接Down的VMware,省去了编绎安装等步骤,东西都给安装好了的。
于是就开始折腾怎么运行网站了。
1:经过一翻查找,发现xsp2的目录是定位在:File System/srv/www/htdocs下,把站点往这一放就对了。
于是,从Windows系统上弄了一个网站过来。这里也有点讲究了。
在外面的Windows系统要拿东西到虚拟机的Linux系统,还真难了我一下。
后来是自动更新下了一下VWmare工具for Linux的,目前文字Copy不是问题了。
2:我是通过http://192.168.1.xx/文件.zip 的方式打包后访问保存到openSUSE系统上的。
一开始打包成RAR,发现过去后解压不了,后来偶然发现openSUSE已安装了Zip软件。
OK,网站弄过来了,当然是编绎好的,准备访问了。
--------噔噔噔噔。。。Error黄页出来了----------提示数据库访问要传参。[Windows下是正常的]
由于是虚拟机上的openSUSE默认已安装了MonoDevelop 2.2版本,于是打算把源码弄过去调试一下。
对着解决方案Build了一下->Build Successful。其实是忽悠人的。
对着具体项目Build的时候,错误才出来,发现:
3:部分文件的中文都乱码,这个提醒我们,中文编程还是少写的好,虽然我只是在枚举里小用一下下。
为了简单测试,我用MonoDevelop 新建一个站点,来折腾。
oh...没有设计界面,本还想拽几个控件出来的,只有html了,那就敲了。好在标签还是智能出来的。敲完了,没有右键定位到CS代码,只好双击文件出来了。
-_-..没有Page_Load事件,只好手动敲。好在敲完后还能运行的。
4:随便敲几行测试SQL 2005数据库代码,调试,发现。啊,存储过程的Return Value,Direction,等有问题。
SqlConnection con=new SqlConnection("server=192.168.1.xxx;database=xxxx;uid=xxxx;pwd=xxxxx");
com.Connection=con;
SqlParameter para=com.Parameters.Add("RV",SqlDbType.SmallInt,8,"RV");
para.Direction=ParameterDirection.ReturnValue;
com.CommandType=CommandType.StoredProcedure;
com.CommandText="ABCProc";
con.Open();
SqlDataReader sdr=com.ExecuteReader();
object abc=com.Parameters[0].Value;
sdr.Close();
con.Close();
在断点中才发现以下几点Bug:
A:SqlParameter无法通过名称获取,如com.Parameters["abc"]就调用出错。
B:Parameter的Direction未实现,是NULL对象,就是说给它赋值也没用,更不要说取出来。
C:SqlDbType和Parameter一个样。
D:调用scope_Identity()也会出错,估计其它少见的函数也不放过的了。
这下子,存储过程的返回值没了。
本人在Windows下也安装了一个MonoDevelop 2.2版本,运行编绎一切正常,可这有啥用呢。
比较了下Windows下的正常,那是因为还是调用的net的库
Linux下的异常是实际是调用的是Mono.XXTds下的一套东西。
除了这个,其它的调用还是正常能读的。
看来Mono此路漫漫,还仍只是一个传说。