环境:
IIS7.0
MVC 4.0 公司官网
asp.net 需要的报名系统,需要有后台管理
由于是配合传统产业,所以MVC系统的数据,是由AIPS系统提供。
(制作前是考虑去年用的asp.net做过的报名,所以就没有再,重新制作报名页面及后台页面。而是考虑两个网站"串接")
1、需求在官网登陆以后,会带出线下会员的一些信息。点击报名按钮进入报名页的时候,自动填充一些信息。
2、在报名添加一个输入框,输入一条信息,点击确定自动查询官网的数据信息。如果有则自动填充到报名信息页的textbox里面
考虑方案:
第二种形式:考虑的是,在官网上添加API,然后在报名系统上调用API来查询数据。 (由于能够带的信息较少,要查询还要输入一条信息所以没有采用这种方式)
第一种形式:
1 首先考虑的是用Session,需要使用memecached,将在官网登陆的会员信息保存的memcached中,将SessionID保存在Cookie里面。通过SessionID,来读取保存的信息。
2 再次考虑的是Cookie跨域的问题。
参考的博客原文地址:http://www.cnblogs.com/greatverve/archive/2011/07/05/asp-net-cookie-domain.html
主要是通过设定Cookie的三个属性:
Domain
Path
Expires
Expires不用介绍了。Domain是类似是指定,Cookie的作用域。
需要注意的是:
先来创建一个Cookie 例子:
HttpCookie acookie=new HttpCookie("MyCookie");
如果你的域名是abc.com,而你把 acookie.Domain="abcd.com",域名不一致的话。那么Cookie都写不进浏览器。
如果在本地测试的话Domain是不需要设定的,因为即使是两个网站,但是两个地址都是Localhost,也算是网站名字相同,存取都是一个Cookie。如果设定了也取不到数据。
接下来继续。
这里共享Cookie主要是说的二级域名跟主域名之间共享。
如果你想指定某个子域名共享的话,那么可以写 acookie.Domain="xyz.abc.com";
如果你想你所有的子域都共享的话,那么可以写 acookie.Domain="abc.com";
注意在子站读取Cookie 的时候,需要写 HttpContext.Current.Request.Cookies["MyCookie"];而不是Request.Cookies["MyCookie"];