Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows服务的最佳实践&;visualstudio中的配置应用_C#_Wpf_Visual Studio - Fatal编程技术网

C# Windows服务的最佳实践&;visualstudio中的配置应用

C# Windows服务的最佳实践&;visualstudio中的配置应用,c#,wpf,visual-studio,C#,Wpf,Visual Studio,我将要编写一个小型的C#WPF服务,它引用一个XML文件进行配置。我已经编写了WPF接口应用程序,它创建并维护服务将读取的XML。很多代码已经进入接口使用的类中,我希望重用它们,同时只维护一个版本的代码 在VisualStudio中维护两个“主要”入口点的最佳实践是什么?一个用于应用程序,另一个用于服务。是否可以混合使用WPF表单和服务项目类型 在将服务注册为windows服务之前,如何测试和运行该服务?如果我没有弄错,您有一个UI项目,并且希望在单独的windows服务项目中重用代码 通常,这

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

在VisualStudio中维护两个“主要”入口点的最佳实践是什么?一个用于应用程序,另一个用于服务。是否可以混合使用WPF表单和服务项目类型


在将服务注册为windows服务之前,如何测试和运行该服务?

如果我没有弄错,您有一个UI项目,并且希望在单独的windows服务项目中重用代码

通常,这是通过将公共共享代码移动到一个单独的项目(称为Commons或Core)来实现的。这就是您需要进行单元测试的内容。最后,将UI和Windows服务项目中的引用添加到此共享库

/root ... /src /app /Core /Presentation (ref to Core) /Service (ref to Core) /test /Core.Test (ref to Core) /根 ... /src /应用程序 /核心 /演示文稿(参考核心部分) /服务(参考核心) /试验 /堆芯试验(参考堆芯)
修改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驱动服务的逻辑,而不必注册实际的服务。

这就是我要找的。我试试看