我正在构建一个 Web 服务,使用 Windows API 代码包生成 PDF 文件的缩略图,使用 ShellObject.FromParsingName(filepath) 然后访问 Thumbnails 属性。
只要它托管在控制台应用程序中,它就可以正常工作,但是一旦我托管在 Windows 服务或 IIS 中,它就不再起作用了,因为在这些上下文中没有 Windows Shell。
我可以强制在这样的上下文中加载 windows shell 吗?我怎么解决这个问题?
我正在构建一个 Web 服务,使用 Windows API 代码包生成 PDF 文件的缩略图,使用 ShellObject.FromParsingName(filepath) 然后访问 Thumbnails 属性。
只要它托管在控制台应用程序中,它就可以正常工作,但是一旦我托管在 Windows 服务或 IIS 中,它就不再起作用了,因为在这些上下文中没有 Windows Shell。
我可以强制在这样的上下文中加载 windows shell 吗?我怎么解决这个问题?
一种选择是将其托管在控制台应用程序中,然后从您的 Web 服务为您的控制台应用程序生成一个新进程。不理想,但我以前必须这样做(出于不同的原因),它工作正常。