Windows服务和安全的最佳实践在Visual Studio中配置应用程序

时间:2012-01-23 21:33:10

标签: c# wpf visual-studio

我即将编写一个小型C#WPF服务,该服务引用XML文件进行配置。我已经编写了WPF接口应用程序,它创建并维护服务将读取的XML。很多代码已经进入了界面使用的类,我希望重用它们,而只维护一个版本的代码。

维持两个主要'的最佳做法是什么? Visual Studio中的入口点?一个用于应用程序,另一个用于服务。是否可以混合使用WPF表单和服务项目类型?

如何在将服务注册为Windows服务之前测试并运行该服务?

2 个答案:

答案 0 :(得分:1)

如果我得到了这个,你有一个UI项目,并且你想在一个单独的Windows服务项目中重用代码。

通常,这可以通过将公共共享代码移动到一个名为 Commons Core 的单独项目中来完成。这是您需要进行单元测试的。最后,将UI和Windows服务项目中的引用添加到此共享库中。

/root
  ...
  /src
    /app
       /Core
       /Presentation  (ref to Core)
       /Service       (ref to Core)
    /test
       /Core.Test     (ref to Core)

答案 1 :(得分:0)

修改您的Main,使其具有不同的调试配置行为,并将TestApp调用到MyService的公共部分:

static void Main()
{
    #if DEBUG
        TestApp testApp = new TestApp();
        testApp.Run();
    #else
        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[] 
        { 
            new MyService() 
        };
        ServiceBase.Run(ServicesToRun);
    #endif
}

然后,您可以通过调试器中的TestApp驱动服务逻辑,而无需注册实际服务。