.net下的跨域问题

  环境:

      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设定Cookie的过期时间。Domain是指定Cookie的作用域。Path是保存Cookie的路径,在共享Cookie中一般设定为acookie.Path="/",就可以了。

  需要注意的是:

          先来创建一个Cookie :

          HttpCookie acookie=new HttpCookie("MyCookie");

         如果你想指定某个子域名跟主域名共享Cookie的话,那么可以写  acookie.Domain="xyz.abc.com";这样主域名的网站也可以访问Cookie

         如果你想你所有的子域都共享的话,那么可以写 acookie.Domain="abc.com"; abc.com是你的主域名。

  注意在子站读取Cookie 的时候,需要写 HttpContext.Current.Request.Cookies["MyCookie"];而不是Request.Cookies["MyCookie"];需要特别指定是Current,否则读取不出来的。

       

         

  

原文地址:https://www.cnblogs.com/pocn/p/4657037.html