从WindowService内部托管的WCF运行UI

时间:2013-02-06 11:34:57

标签: wcf windows-services usersession

我有一个托管wcf的窗口服务:

protected override void OnStart(string[] args)
{
    if (serviceHost != null)
    {
        serviceHost.Close();
    }
    serviceHost = new ServiceHost(typeof('myservicetype'));
        NetTcpBinding binding = new NetTcpBinding(SecurityMode.None);
        serviceHost.AddServiceEndpoint
            (typeof('myservicetype'),
            binding, ConfigurationManager.AppSettings["myconfig"]
            );
        serviceHost.Open();
        Console.ReadLine();
}

wcf听取请求,其中一个请求是在服务器上打开记事本,
这不起作用,因为服务在会话0上运行(没有gui ...),
我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果与服务相关联的身份获得足够的权限,您可以打开记事本,无论您使用的是什么(Windows应用,服务等)。 然后,您可以使用Process.Start("notepad.exe", yourTextFile);

如果notepad是处理文本文件的默认程序,则只需Process.Start(yourTextFile);