序论:关于mono的介绍可以猛击这里了解!如果你因为licence的问题而对mono望而却步,你可以仔细看下这里,之后你就会大胆的去用了!
最近为了练习做了一个简单的三层架构的信息管理系统,除了CRUD操作就是登录和登出。一开始我的想法就很明确,做完了就Porting到mono下运行。
为什么这里会要Porting呢,而不是直接在linux下面借助monodevelop开发。原因很简单,monodevelop相对我们用习惯了的VS05-10里面
的任何一个版本,我们都会觉得.net开发人员如此幸运,有Visual Studio这么方便的IDE。相对VS而言,monodevelop的确比较那啥,用过的都知道!
所以用VS开发,完了放到monodevelop下编译下,然后部署到linux服务器运行是不错的选择。
本文:在移植过程中遇到了三个问题。
1.Response.Redirect()里面的URL的问题。
问题重现:一般为了判断用户是否登录并在用户登录后跳转到之前请求的页面,会在BasePage里面做如下处理:
在Windows里面测试没有任何问题,但是在Ubuntu11.10 运行时问出现如下问题:
在地址栏我直接输入要访问的Main.aspx,跳转回来的地址如图所示:
从登录界面登录会产生如下错误:
在Ubuntu里面,Response.Redirect()里面的URL会多加127.0.0.1:8080,所以报错也很正常。
解决的方法:取backUrl为相对路径,string backUrl=Request.RawUrl;