如何在本地计算机上的两个单独的应用程序池中创建和测试两个 Web 应用程序?

问题描述 投票:0回答:1

我的任务是确定如何通过 cookie 跨多个应用程序池从一个子域到另一个子域来维护用户会话。到目前为止,我的发现表明子域可以跨池共享 cookie,但我需要能够实时演示这一点。

我以前从未使用过应用程序池,我只想让我的简单 cookie 烘焙/读取 Web 应用程序的一个实例在 localhost:3000 的池 A 上运行,并在 localhost:3001 的池 B 上运行另一个实例。我找到的许多答案只是说“创建应用程序池并添加您的应用程序,但我很难找到有关如何具体执行此操作的详细信息。

我正在运行的网络应用程序是来自 HttpCookieCollection 的示例。

asp.net iis cookies subdomain application-pool
1个回答
0
投票

您可以按照以下步骤操作:

  1. 打开iis管理器

  2. 使用以下配置创建 2 个网站:

根据您的测试 .ip 地址设置文件夹路径站点名称和 IP 地址,您可以从下拉列表中选择,然后选择文件夹路径作为您的网站发布文件夹。

enter image description here

重复相同的步骤并创建第二个网站。

  1. 如果您进行本地测试并想使用测试域,您可以使用位于 C:\Windows\System32\drivers tc 的主机文件,并在该文件中添加您的测试域和您的计算机 IP 地址

添加如下所示的条目,而不是使用您的机器IP 127.0.0.1

enter image description here

要共享 cookie,您可以使用以下代码:

protected void SetCookieButton_Click(object sender, EventArgs e)
{
    // Create and set cookie
    HttpCookie cookie = new HttpCookie("MySharedCookie", "Hello from AppA");
   cookie.Domain = ".domain.com"; // Sharing across subdomains
    cookie.Path = "/";
    cookie.Expires = DateTime.Now.AddDays(1);
    Response.Cookies.Add(cookie);

    // Refresh page to show the cookie value
    Response.Redirect(Request.Url.AbsoluteUri);
}

或者在 web.config 文件中使用此代码:

 <system.web>
       <httpCookies domain=".domain.com" />
     </system.web>

测试结果:

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.