小编Jim*_*TAT的帖子

IE8的InternetExplorer COM对象忽略活动选项卡

这是在.net 3.5 winform上运行的代码的Web单点登录.只要ie8只有一个标签打开,代码就可以运行ie6或ie8.问题是,如果用户打开一个新选项卡(选项卡2,3等)并导航到一个网站(组织内部的Web表单),将执行以下代码,但即COM自动化对象将返回HTMLDocument对于第一个选项卡(选项卡1),即使选项卡2是活动选项卡.我无法在任何地方找到InternetExplorer或HTMLDocument类中的任何IE选项卡引用.实际上,IE COM自动化文档中的IE标签相关文档很少.

AutoResetEvent ie2_NavigateCompleteAutoReset;

    /// <summary>
    /// Given the handle of an Internet Explorer instance, this method performs single sign on to
    /// several known web login forms.
    /// </summary>
    /// <param name="iEFramHandle"></param>
    private void WebFormSignOn(int iEFramHandle)
    {
        foreach (SHDocVw.InternetExplorer ie2 in new SHDocVw.ShellWindows())
        {
            if (ie2.HWND == iEFramHandle)
            {
                while (true)
                {
                    Thread.Sleep(100);
                    if (ie2.ReadyState == SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
                    {
                        try
                        {
                            mshtml.HTMLDocument doc = (mshtml.HTMLDocument)ie2.Document;
                            ie2.NavigateComplete2 += new SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(ie2_NavigateComplete2);
                            ie2_NavigateCompleteAutoReset = new AutoResetEvent(false);

                            /*Find the username element and …
Run Code Online (Sandbox Code Playgroud)

c# com internet-explorer shdocvw single-sign-on

5
推荐指数
1
解决办法
2418
查看次数

添加TwilioController基类继承后,Microsoft Azure MVC 3 Web角色无法启动

Azure Web角色(MVC 3项目)不会从Twilio控制器类开始

  • 我有一个在MS Azure上托管的MVC 3应用程序.它发布到Azure Web角色 - 没有问题.
  • 我添加了Nuget Twilio和Twilio.Mvc软件包.它仍然发布到Azure Web角色 - 没有问题.
  • 我添加了一个继承自Mvc.TwilioController基类的类,随后Azure Web角色不再启动.
  • 如果我删除TwilioController类继承,则Web角色启动.

项目在我的本地VS Azure模拟器环境中发布,运行和twilio功能很好.

该项目参考文献; Twilio.api,Twilio.mvc,Twilio.Twiml,RestSharp和NewtonSoft.Json都设置为CopyLocal = True.

所有Azure诊断日志记录/跟踪都已启用,并且每5秒发送到表存储,但在Web角色无法启动时没有可用的日志数据.注意:如果我注释掉twilioController,我会获得大量日志数据,因此可以正确配置Azure Diags.

由于Web角色继续中止/循环/中止,因此没有机会通过RDP进行进一步的故障排除.


大约每分钟都会将以下两个错误写入失败的Web角色的Windows系统事件日志中:

属于网站'1273337584'的应用程序'/'具有无效的AppPoolId'ca5c9ecb-e68d-4f3a-84c2-c0b4430373e9'集.因此,应用程序将被忽略.

.

站点1273337584已禁用,因为为站点定义的根应用程序无效.有关根应用程序无效原因的信息,请参阅上一个事件日志消息.


重现的步骤(确切的步骤):

  1. 安装Azure Sdk v 1.6
  2. 使用Azure模板创建新项目(visual studio 10 sp1)
  3. 选择Asp.net MVC 3 Web角色
  4. 构建并发布到Azure
  5. 成功 - Web角色开始
  6. 添加Nuget Package"Twilio"版本3.3.2
  7. 添加Nuget包"Twilio.Mvc"3.1.3版
  8. 构建并发布到Azure
  9. 成功 - Web角色开始
  10. 创建一个空控制器(HelloController).请参阅下面的代码段.
  11. 添加TwilioController基类(例如Public Class HelloController:TwilioController)
  12. 构建并发布到Azure
  13. 失败 - 网络角色只是cyles/aborts/cyles.
  14. 注释掉TwilioController(例如Public Class HelloController //:TwilioController)
  15. Buld并发布到Azure
  16. 成功 - 网络角色开始

    using System.Web.Mvc;
    using Twilio.TwiML.Mvc;
      namespace WindowsAzureProject857481.Controllers
        {
            public class HelloController …
    Run Code Online (Sandbox Code Playgroud)

asp.net-mvc azure twilio asp.net-mvc-3

5
推荐指数
1
解决办法
2331
查看次数

每个在同一个VS项目上工作的开发人员都需要添加Nuget包吗?

我使用Nuget(RestSharp,Twilio等)为VS 2010解决方案添加了一些库.当我从TFS将相同的解决方案拉到新的PC并尝试构建它时,对这些程序集的所有引用都被破坏(错误"无法找到名称空间......").是否有必要为首次使用此VS解决方案的每个开发人员在其PC上独立安装相同的Nuget软件包?谢谢,吉姆

visual-studio nuget

5
推荐指数
2
解决办法
328
查看次数