.NET移植Mono初体验

序论:关于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里面做如下处理:

.NET移植Mono初体验

在Windows里面测试没有任何问题,但是在Ubuntu11.10 运行时问出现如下问题:

在地址栏我直接输入要访问的Main.aspx,跳转回来的地址如图所示:

从登录界面登录会产生如下错误:

.NET移植Mono初体验

在Ubuntu里面,Response.Redirect()里面的URL会多加127.0.0.1:8080,所以报错也很正常。

解决的方法:取backUrl为相对路径,string backUrl=Request.RawUrl;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/21af545eb4eccdb961f4f7bafe2492c4.html