【问题标题】:Run aspx page from winforms从 winforms 运行 aspx 页面
【发布时间】:2013-02-13 13:53:40
【问题描述】:

我有网站和winform项目, 该网站是虚拟书店, 当您完成“购买”时,有一部分网站会根据 session["Order"] 值生成 aspx 页面的收据, 我希望能够从我的 winform 项目进入收据页面(当我传递我的 id 参数时),我想我有两个选择:

  1. 从我的 winform 项目中获取值并使用它加载接收页面。
  2. 运行一个允许我输入 id 的不同 aspx 页面。(我认为更简单)

我的主要问题是我无法意识到如何使用 webdev 工具从我的 winform 项目运行 aspx 页面(并打开用于它的端口)。
第二个问题是我不确定如何在 winforms 中使用会话(为了传递我的参数)。

我用谷歌搜索了很多,发现自己太困惑了。

【问题讨论】:

  • 您尝试过 WebBrowser Control(Windows 窗体)吗?看看下面的链接我不知道它为您提供会话访问msdn
  • 你能解释一下从浏览、购买、打开winform到打开aspx的整个工作流程吗?谁是各种用户?为什么用户使用两个应用程序网站和winform?

标签: c# asp.net winforms devserver


【解决方案1】:

您可以使用 Winform 应用程序中的 URL 通过查询字符串传递 ID。在您的 ASP.Net 站点中,处理来自查询字符串的 ID 并相应地显示收据页面。比如:

ProcessStartInfo processStartInfo = new ProcessStartInfo("http://example.com/yoursite?ID=2");  
Process.Start(sInfo);

上面会在本机默认浏览器中打开站点

就在 Winform 和 ASP.Net 站点中管理会话而言,我认为这是不可能的,因为 WinForm 中没有 Session

【讨论】:

  • 但我需要它作为会话对象,并且需要为我要托管的页面打开端口,我不知道该怎么做
  • @user1652656,关于开放端口,我认为它与网络部门有关,您不能在Winform和ASP.Net站点之间共享会话,您可以在ASP中设置会话。基于查询字符串的网站
  • @Habib 您不能在网页和 winform Windows 应用程序(Windows 托管)和 Web 应用程序(浏览器/服务器托管)在不同的环境中运行并以不同方式执行之间共享会话,这是非常正确的。实际上没有任何内置的进程间通信可以用来在两者之间传递数据。
【解决方案2】:

尝试使用 Web Browser 控件,您可以使用它托管 *.aspx。

如果可以,请使用这些教程,

http://msdn.microsoft.com/en-us/library/aa752041(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多