我有一个基于 ASP.Net 4.7 的 webform 应用程序,要求是在某个页面上,我需要使用一些参数将表单提交到我的应用程序外部的 url(External Url),我需要发送一个返回 url(它将是我的应用程序的当前页面),在该页面上运行的应用程序(外部 URL)将处理通过表单传入的数据,并重定向到返回 url,现在的问题是何时在我的应用程序的应用程序会话中收到该 post 回调被重置和所有数据都丢失了,我可以在上下文中看到会话 ID 与以前不同,并且由于我的验证,我的应用程序将其重定向到登录页面。 任何人都可以帮助为什么我的会话被重新生成。

这些是我的 web.config 设置。

    <sessionState 
  mode="InProc" 
  timeout="200" 
  cookieless="false" 
  cookieSameSite="Lax"
/>

这就是我发布数据的方式。

System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Write("<html><head>");
System.Web.HttpContext.Current.Response.Write(string.Format("</head><body onload=\"document.{0}.submit()\">", FormName));
System.Web.HttpContext.Current.Response.Write(string.Format("<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >", FormName, "POST", ExternalUrl));
System.Web.HttpContext.Current.Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", "Var1", Var1));
System.Web.HttpContext.Current.Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", "ReturnUrl", CurrentApplicationUrl));
System.Web.HttpContext.Current.Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", "Var2", Var2));
System.Web.HttpContext.Current.Response.Write("</form>");
System.Web.HttpContext.Current.Response.Write("</body></html>");

HttpContext.Current.Response.Flush(); // 
HttpContext.Current.Response.SuppressContent = true;  
HttpContext.Current.ApplicationInstance.CompleteRequest(); 

#1楼 票数:0

我有同样的问题。 经过多天的反复试验,我发现 IIS Express 使用的本地主机证书与我的本地 IIS 使用的证书之间存在证书冲突。 我必须从“个人”/“证书”文件夹和 MMC 中的“受信任...”/“证书”文件夹中删除由 RSA 颁发的证书(以管理员身份运行)。 代码很好。 冲突在于两个证书都在证明“localhost”。 希望这可以帮助。

  ask by Adil Irshad translate from so

未解决问题?本站智能推荐:

1回复

ASP.Net Webforms 应用程序在访问支付网关后注销

我正在向使用 .net framework 4.6 用 c# 编写的现有 webforms 应用程序添加一些功能。 重定向到外部支付网关后,站点返回,但用户最终被注销,因此交易未完成。 该应用程序使用支付网关进行信用卡支付。 流程开始后,应用程序将重定向到支付网关的站点几秒钟,然后返回到我们的结帐
5回复

在ASP.Net中为不同的会话变量设置不同的超时

这是否可以为ASP.Net中的不同会话设置不同的超时? 编辑我的意思是在同一页面我有2个会话变量Session [“ss1”]和Session [“ss2”],是否有可能为每个会话设置超时? 或者无论如何都要像保存会话到cookie并设置过期一样? 我刚刚接触ASP.Net新手
1回复

如何增加Visual Studio中C#网页上的登录会话超时?

所以,这就是事情...当我使用login.aspx登录时,它会将我重定向到admin.aspx。 如果让管理员页面闲置几分钟,然后尝试打开W​​eb表单,则会给我一个错误。 现在,当我再次登录时,页面工作正常。 几分钟后,每当我尝试从管理页面打开页面或尝试刷新页面时,我再次收到此错
5回复

c#如何从asp.net会话cookie获取会话

我对.net很基本 但是基本上我被告知要在要部署的环境ASP.NET_SessionId网站具有会话粘性,这意味着我必须从Cookie ASP.NET_SessionId获取会话 但是,这意味着什么/如何使用呢? 在我使用现有会话代码的地方,例如Session.Add("Som
2回复

从会话Cookie实例化ASP.NET会话

是否可以从会话cookie实例化会话? 我有一种情况,由于管道的缘故,我有可用的cookie,但是我的ASP.NET Http Context尚未构造Context.Session对象。 我可以手动执行此操作,以某种方式引用Cookie或其内容吗?
1回复

会话变量或cookie

我有一个系统,使我的Intranet用户能够处理数据库记录。 基本上记录是勾选/未记录的,这会更新每个放入单独会话变量的运行总计,然后提交到不同的数据库。 每隔一段时间就会发生一些奇怪的事情,这些会话变量中的值可能会翻倍(或者更糟),而且我从来没有能够复制过这种情况(它似乎完全是随机的,幸运
1回复

混合Webforms / MVC应用程序中的会话状态

背景:我正在一个现有的Webforms站点上工作,我们正在将其转换为MVC4。我们还更新了UI,因此正在制作新的MVC布局页面以替换旧的Webforms母版页面。 我们不能一次将所有的aspx页面升级到mvc,因此为了保持网站外观的一致性,尚未转换的现有aspx会呈现在MVC布局中。 我们正
1回复

通话之间的会话值丢失

由于未知原因,我的网站在本地调试IIS或部署IIS上均未向浏览器发送ASP.NET_SessionId cookie,因此,我的会话在每个页面上始终为空。 在IIS偏好设置中,“会话状态”设置为“正在处理”(抱歉,可能不是确切的翻译,我已经对IIS进行了本地化)。 有什么想法吗? 附加