C# Windows服务凭据
我有一个Windows服务,可以打印HTML文本。C# Windows服务凭据,c#,service,credentials,printing-web-page,C#,Service,Credentials,Printing Web Page,我有一个Windows服务,可以打印HTML文本。 操作系统是7,带有.NET4.5.1和IE11 守则: private static void PrintOnStaThread(string text) { using (WebBrowser webBrowser = new WebBrowser()) { webBrowser.Navigate("about:blank"); webBrowse
操作系统是7,带有.NET4.5.1和IE11 守则:
private static void PrintOnStaThread(string text)
{
using (WebBrowser webBrowser = new WebBrowser())
{
webBrowser.Navigate("about:blank");
webBrowser.Document.OpenNew(false);
while (webBrowser.DocumentText != text && webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
webBrowser.Document.Write(text);
webBrowser.Refresh();
Application.DoEvents();
}
InternetExplorer internetExplorer = (InternetExplorer)webBrowser.ActiveXInstance;
internetExplorer.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, Win32.PRINT_WAITFORCOMPLETION);
}
}
问题:使用
本地系统
帐户记录服务时,ExecWB
函数不执行任何操作,线程将毫无例外地退出。当使用管理员凭据登录服务时,ExecWB
功能工作正常,但我不想使用此帐户
欢迎任何评论。这是可能的,但您需要将服务配置为“交互式”
有关详细信息,请参阅本文档不要在Windows服务中使用WinForms。问题很可能是由这一点引起的。使用不同的方式打印HTML。如果必须,请参见,但仍使用
WebBrowser
控件。另请参见。我已经知道并使用了代码中的第一个示例。我真的不明白你说的“不要使用WinForms”是什么意思。我想我不是。