winforms 从Windows桌面应用程序显示ASP.NET应用程序的页面并获取结果

zte4gxcn  于 2023-02-24  发布在  Windows
关注(0)|答案(1)|浏览(160)

考虑msdn中的ASP.NET Core MVC Tutorial:我想从Windows桌面应用程序显示MVC应用程序的页面(例如创建电影页面)。但是,网页不需要嵌入Winforms/WPF对话框的框架中。如果页面在当前浏览器中显示就足够了。
当用户完成并创建电影时,调用的windows应用程序应该会收到新创建的电影。到目前为止,我所拥有的:
1.在Winforms/WPF中重新创建输入表单,并使用底层的apcontroller,它可以访问MVC应用程序的存储库(我已经将此添加到原始教程中)。
1.使用Process.Start打开网页,并添加一个标识调用客户端的参数。当用户完成后,网页会通过外部消息代理(如RabbitMQ)通知客户端。通知中包含所创建实体的ID,允许桌面应用通过ID从apcontroller获取实体。
1.想知道是否有类似于.net事件或var res = Form.ShowDialog()的本机选项涉及.net MAUI或其他内容。
原因:我想要一个几乎可以在任何地方使用的完整Web应用。但在宿主Windows应用中会有一个加载项,该加载项应尽可能多地使用Web应用中的内容,但集成到宿主应用中。示例:Outlook vsto插件,带有一个按钮来创建电影,并在电子邮件正文中包括电影描述和更多内容。

cclgggtu

cclgggtu1#

我使用了第二个选项:

  1. My ApiController有一个额外的操作,它返回表单的个人url,显示为Process.Start
    1.客户机在自己的RabbitMQ队列中等待消息,并在执行此操作时阻塞所有输入。
    1.传输表单时,网页会在队列中发布消息。
    1.客户端接收带有项目id的消息,并可以从ApiController中按id获取新创建的项目,然后使用该项目。
    因此我不需要在WinForms对话框中复制表单,用户可以从桌面应用程序或直接通过Web应用程序创建新项目。

相关问题