.Net 1.1 到 .Net 2.0 开发日志
昨天开始规划将要做的项目,我决定使用VS2005开发,但要做好.Net 1.1与.Net 2.0同时运行在IIS6上,首先想到的是Dundas(一个图表输出的控件)能否在2005上运行,结果还是支持的。接下来要测的是FreeTextBox,发现1.6.5版本(还是开源的最后一个版本)不支持在2005上运行,唉那就下载一个新的吧,我就下载了一个3.1.1(Build2005-11-8)版本的FreeTextBox,按照他所描述的支持2005。接着就是最难办的登录问题,本来不以为他是问题,因为在之前的所有项目都是使用.Net 1.1里的
FormsAuthentication.SetAuthCookie(txtName.Text,false);
HttpCookie lcookie = Context.Response.Cookies[FormsAuthentication.FormsCookieName];
lcookie.Domain = ".cnblogs.com";//
方法进行登录设置,使用this.Page.User.Identify.Name获取设置在Cookie里的数据,但是这一句在VS2005里读取不出,最可恶的是在我的测试环境里2.0的IIS已经设置了使用asp.net 2.0解释,还出现:
气死我了,后来发现,自己先,在IIS里的“Home Directory”的“Application pool”还是设置“DefaultAppPool”,应该把它设置为“ASP.NET V2.0”,问题就解决了,但是还是不可以读取Cookie里的数据,但如果把.Net 1.1版本的登录在IIS里设置为ASP.Net 2.0解释的话,在.Net 2.0的测试程序里就可以使用Page.User.Identify.Name读取出.Net 1.1版本里的SetAuthCookie数据,难道一定在把以前的.Net 1.1的程序全部使用2.0解释吗,这样的风险谁也不可以保证没问题。
后来还是灵机一动,从.Net 1.1版本里连接到我开发的项目只有一个地方,还是可以使用自定义Cookie记录用户ID的方法解决,在测试环境中通过,这回可以安心地在VS2005里开发我的项目了。
其实在解决问题过程中也通过搜索的方法想去找到我要解决的问题,不过发现很多都是把以前的项目转到.Net 2.0里,基本没有.Net 1.1和.Net 2.0同时运行在IIS6上的个案,看来这回还是做了一次先行者。
FormsAuthentication.SetAuthCookie(txtName.Text,false);
HttpCookie lcookie = Context.Response.Cookies[FormsAuthentication.FormsCookieName];
lcookie.Domain = ".cnblogs.com";//
方法进行登录设置,使用this.Page.User.Identify.Name获取设置在Cookie里的数据,但是这一句在VS2005里读取不出,最可恶的是在我的测试环境里2.0的IIS已经设置了使用asp.net 2.0解释,还出现:
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.
Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
气死我了,后来发现,自己先,在IIS里的“Home Directory”的“Application pool”还是设置“DefaultAppPool”,应该把它设置为“ASP.NET V2.0”,问题就解决了,但是还是不可以读取Cookie里的数据,但如果把.Net 1.1版本的登录在IIS里设置为ASP.Net 2.0解释的话,在.Net 2.0的测试程序里就可以使用Page.User.Identify.Name读取出.Net 1.1版本里的SetAuthCookie数据,难道一定在把以前的.Net 1.1的程序全部使用2.0解释吗,这样的风险谁也不可以保证没问题。
后来还是灵机一动,从.Net 1.1版本里连接到我开发的项目只有一个地方,还是可以使用自定义Cookie记录用户ID的方法解决,在测试环境中通过,这回可以安心地在VS2005里开发我的项目了。
其实在解决问题过程中也通过搜索的方法想去找到我要解决的问题,不过发现很多都是把以前的项目转到.Net 2.0里,基本没有.Net 1.1和.Net 2.0同时运行在IIS6上的个案,看来这回还是做了一次先行者。