WPF Process.Start(url)如何知道当前的URL或窗口何时关闭

3
我有一个WPF应用程序,它会重定向到支付系统,然后开始轮询数据库,以查看是否通过不同渠道返回了交易参考。我与我的一位程序员朋友进行了交谈,他说无需轮询,我可以简单地跟踪支付系统成功付款后重定向的Url,并相应地做出反应。打开窗口并将代理重定向到支付系统的代码如下:
var process = Process.Start(new ProcessStartInfo(url));

有没有一种方法可以获取浏览器窗口的URL?

1个回答

3
我建议在您的应用程序中使用Web浏览器控件。有非常好的控件和内置版本(称为WebBrowser)。Process.Start存在问题,因为您永远不知道加载了哪个浏览器(和版本)。您需要支持很多不同的方法来获取URL。
使用Web浏览器控件的好处是您可以完全控制Web浏览器,可以处理诸如页面加载之类的事件,这使您能够对URL执行检查。我自己使用它在客户端上进行OAuth身份验证并从URL中获取令牌并解析出令牌。

一个更好、更快的选择是CefSharp。但问题在于,如果与WPF一起使用,它会变得很慢,不过有一个解决方法。但对于WinForms来说效果非常好。 - Fᴀʀʜᴀɴ Aɴᴀᴍ
1
确实,那是一种拥有比内置网页浏览器更好的浏览器的选择之一。 - Patrick Hofman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接