有没有一种方法可以通过编程方式在.NET中更改为不同的会话?

有没有一种方法可以通过编程方式在.NET中更改为不同的会话?,.net,session,.net,Session,我有一个大型的.NET站点,我正试图从第三方供应商那里添加一些功能 我们所做的一个障碍是,我们重定向到第三方站点,用户输入一些信息,第三方站点处理这些信息,然后通过编程方式向我们发回一些信息,这些信息需要存储在会话中,一旦第三方站点重定向回我们,我们就可以访问这些信息 因此,基本流程是: 用户单击按钮,表示他们希望利用此第三方服务 我们重定向到第三方站点,并将会话ID作为查询参数包含在URL行中 第三方网站收集信息并授权用户 第三方网站以编程方式将用户信息和其他各种信息作为数据发布在文章正文中。

我有一个大型的.NET站点,我正试图从第三方供应商那里添加一些功能

我们所做的一个障碍是,我们重定向到第三方站点,用户输入一些信息,第三方站点处理这些信息,然后通过编程方式向我们发回一些信息,这些信息需要存储在会话中,一旦第三方站点重定向回我们,我们就可以访问这些信息

因此,基本流程是:

  • 用户单击按钮,表示他们希望利用此第三方服务
  • 我们重定向到第三方站点,并将会话ID作为查询参数包含在URL行中
  • 第三方网站收集信息并授权用户
  • 第三方网站以编程方式将用户信息和其他各种信息作为数据发布在文章正文中。返回的部分信息是会话ID。未返回任何COOKIE数据,因此会话ID不在.NET通常期望的COOKIE中
  • 我们将信息缓存在会话中,并通过HTTP成功或失败(2xx或4xx HTTP响应)和正文中的少量数据响应第三方站点
  • 第三方网站告诉用户一切正常,用户可以点击按钮返回我们的网站
  • 很容易。。。。所以我想。但诀窍在于第四步。No cookie=我所在的会话不是在步骤6中重定向回用户的会话

    过去我们通过从返回的数据中获取会话ID并重定向来处理类似的情况,但是对于这个供应商,他们需要2xx或4xx返回,而不是重定向将生成的3xx。事实上,返回到一个程序性帖子的重定向。。。那不行,是吗?它不是一个浏览器,将处理重定向,无论怎样,我们不希望用户回到我们的网站在这一点上


    我做了一些研究,看看是否有其他方法可以通过编程方式连接到正确的会话,但我还是一无所获。希望我错过了一些东西。

    您得到的信息直接进入正确的用户会话有多重要?您是否可以将其存储在缓存中,直到用户返回,然后在此时将其从缓存移动到正确的会话?不幸的是,没有易于使用的缓存-这是一个多层应用程序,数据库离会话有很多层,访问与会话绑定。由于许多原因,文件系统也无法工作。