我正在使用NuGet的GeckFX45来托管我的OAuth2登录网页。在测试其没有互联网连接的行为时,我注意到我得到了一个浏览器生成的对话框,说明找不到该URL。如何抑制此问题,我可以在不警告用户的情况下捕获并处理我的应用中的场景?
我的浏览器代码非常标准,但无论如何都要包含在这里(请注意我使用WPF而不是Win Forms因此主机控件):
public OAuthLogin2(OAuthActions action, string args = null)
{
this.action = action;
Gecko.Xpcom.Initialize("Firefox");
host = new WindowsFormsHost();
browser = new GeckoWebBrowser();
browser.DocumentCompleted += Browser_DocumentCompleted;
browser.Navigating += Browser_Navigating;
browser.NavigationError += Browser_NavigationError;
browser.NSSError += Browser_NSSError;
InitializeComponent();
host.Child = browser;
GridWeb.Children.Add(host);
}
答案 0 :(得分:0)
我可以添加一个PromptService
,但这可能无法使用,具体取决于语言;
public class NoPromptService : PromptService
{
public override void Alert(string dialogTitle, string text)
{
log.Warn(dialogTitle, new Exception(text));
if (text.EndsWith("could not be found. Please check the name and try again."))
{
// Do Whatever
}
}
}
在构造函数中添加它:
PromptFactory.PromptServiceCreator = () => new NoPromptService();