Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检索从Web应用程序发送的数据?_C#_Asp.net_Session State - Fatal编程技术网

C# 如何检索从Web应用程序发送的数据?

C# 如何检索从Web应用程序发送的数据?,c#,asp.net,session-state,C#,Asp.net,Session State,在这里,我通过单击按钮将会话id从一个asp.net应用程序传递到另一个asp.net应用程序 应用1: 我这里的问题是如何在第二个asp.net应用程序页面加载中检索会话id 应用2: 有什么建议吗?另一个解决方案: 我要做的是在应用程序1的页面上添加一个不可见的图像,即一些透明像素: 不可见的图像实际上是由Site2托管的asp.net页面。 在transpimage.aspx的页面加载事件中。我会输出一些图像: public void Page_Load(...) { using

在这里,我通过单击按钮将会话id从一个asp.net应用程序传递到另一个asp.net应用程序

应用1:

我这里的问题是如何在第二个asp.net应用程序页面加载中检索会话id

应用2:

有什么建议吗?

另一个解决方案:

我要做的是在应用程序1的页面上添加一个不可见的图像,即一些透明像素:

不可见的图像实际上是由Site2托管的asp.net页面。 在transpimage.aspx的页面加载事件中。我会输出一些图像:

public void Page_Load(...)
{
     using(Bitmap image = new Bitmap(1,1))
     using(MemoryStream stream = new MemoryStream())
     {
          image.Save(stream);
          Response.ContentType = "image/png";
          stream.WriteTo(Response.OutputStream);
          Response.End();
     }
}
由于来自应用程序2的映像由aspx页面提供,而不是文件中的静态映像,因此它将使应用程序2的会话保持活动状态。我以前做过这个,它看起来相当健壮

如果您熟悉HttpHandlers,您可以将图像页面作为处理程序编写,但不要忘记,如果您作为处理程序编写图像页面,则需要从IRequiresessionState接口继承以实际访问会话


希望这有帮助

我的第一个问题是,为什么?@Lloyd要为两个应用程序共享相同的会话id将会话移出proc,例如,移动到sql server,然后查看这篇文章@AntonioBakula。我正在尝试使用sql server模式,对于第二个应用程序,我在ASPState数据库中获得了一个新的会话id。为什么您需要相同的会话id?
protected void Page_Load(object sender, EventArgs e)
{
}
public void Page_Load(...)
{
     using(Bitmap image = new Bitmap(1,1))
     using(MemoryStream stream = new MemoryStream())
     {
          image.Save(stream);
          Response.ContentType = "image/png";
          stream.WriteTo(Response.OutputStream);
          Response.End();
     }
}