Window 服务中未触发 AfterSessionComplete 事件(在控制台中调试)。铁芯

AfterSessionComplete event not firing in Window Service(Debugging in Console). Fiddercore

我的应用程序没有触发事件 AfterSessionComplete。下面的代码

fiddler.cs

    namespace proj
{

    public static class Fiddler
    {

        public static void start()
        {

                startProxy();

        }



        public static void startProxy()
        {

            FiddlerApplication.AfterSessionComplete += FiddlerApplication_AfterSessionComplete;
            FiddlerApplication.Startup(8888, true, true, true);

        }



        public static void FiddlerApplication_AfterSessionComplete(Session sess)
        {
          //Working aftersessioncomplete
        }
    }
}

Service1.cs

namespace Proj
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            Fiddler.start();
        }

        protected override void OnStop()
        {
        }
        internal void TestStartupAndStop(string[] args)
        {
            this.OnStart(args); //use to debug
                                //For commandLine

        }
    }
}

program.cs

namespace Proj
{
    static class Program
    {

        static void Main(string[] args)
        {
            if (Environment.UserInteractive)
            {
                Service1 service1 = new Service1();
                service1.TestStartupAndStop(args);
            }
            else
            {

            }
        }
    }
}

我正在创建一个 windows 服务,但我遇到了调试问题,这就是为什么我使用控制台应用程序调试来检查我的代码是否工作。

当我知道 FiddlerApplication.AfterSessionComplete 没有触发时,我在 aftersessioncomplete 事件中添加了断点。它停止应用程序而不继续 public static void FiddlerApplication_AfterSessionComplete(Session sess) 任何人都可以帮忙吗?或面临同样的问题?

会话后无法在 window 服务中触发,因为证书弹出证书作为 GUI,windows 服务无法提供,因此代码停留在证书安装处,并且在会话事件后不触发。 要解决这个问题,请记住在安装证书后使用控制台应用程序并隐藏控制台应用程序