我创建了一个winForms应用程序,该应用程序使用Web浏览器控件,用户可以使用他的google或facebook帐户登录,然后在获取信息或任何错误或异常后,包含Web浏览器的表单将关闭并返回到主要表单,我执行以下操作,准备请求,使用该请求导航()然后捕获事件导航的响应。 在代码中一切正常,但是当我构建为Release并安装应用程序时,Navigated事件永远不会被激活,这真的很奇怪,因为我的代码中没有任何东西处于调试状态,任何想法如何解决这个问题?< / p>
表单加载事件中的代码为:
private void GoogleLogin_Load(object sender, EventArgs e)
{
AuthHelper authHelper = new AuthHelper();
Uri loginURI = authHelper.GetGoogleAuthURI(_appID, redirectURI);
GoogleLoginControl.Navigate(loginURI);
}
导航事件中Web浏览器控件的代码
private void GoogleLoginControl_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
CoreStaticMembers.ologger.LogToFile("Navigated event with the absolute URL "+ e.Url.AbsoluteUri );
MessageBox.Show("Navigated event is fired");
///used if parameters are empty so ignore the following messages
bool ignore = false;
string code = null;
if (e.Url.AbsolutePath.Equals("/connect/login_success.html"))
{
AuthHelper authHelper = new AuthHelper();
//NameValueCollection parameters = HttpUtility.ParseQueryString(e.Url.Query);
try
{
NameValueCollection parameters = HttpUtility.ParseQueryString(e.Url.Query);
if (parameters != null)
{
string jsonResponse = null;
之后继续正常的身份验证和数据获取,请记住,只有当我构建为Release然后安装应用程序时才会出现此问题,导航甚至会针对Web浏览器控件触发,Load事件也是如此为父表格 提前致谢
更新 顺便说一下,当我通过在表单构造函数中调用Initialize函数来初始化表单时,我也尝试使用所需的URL进行导航,但是出现了同样的问题,
答案 0 :(得分:0)
我发现此问题与DLL文件相关的兼容性问题有关,特别是“Newtonsoft”DLL。