0

我编写了一个代码,将演示文稿中的所有幻灯片保存为 jpeg。它在我系统上本地的 Visual Studio 中运行良好,但是当我在 Azure 应用服务上部署它时,我收到 500 内部服务器错误。

  • IIS 收到请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。
  • IIS 无法访问网站或应用程序的 web.config 文件。如果 NTFS 权限设置不正确,可能会发生这种情况。
  • IIS 无法处理网站或应用程序的配置。
  • 经过身份验证的用户没有使用此 DLL 的权限。
  • 请求映射到托管处理程序,但未安装 .NET 可扩展性功能。
  • 编码:

    using pptd = NetOffice.PowerPointApi;
    using NetOffice.PowerPointApi.Enums;
    using NetOffice.OfficeApi.Enums;
    
     public void genThumbnails(string originalfileName,string renamedFilename, string dirPath)
                {
                
                    
                    pptd.Application pptApplication = new pptd.Application();
                    pptd.Presentation pptPresentation = pptApplication.Presentations.Open(dirPath + renamedFilename, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
                    int i = 0;
                    foreach (pptd.Slide pptSlide in pptPresentation.Slides)
                    {
    
                        pptSlide.Export(dirPath + originalfileName + "_slide" + i + ".jpg", "jpg", 1280, 720);
                        i++;
    
    
                    }
                    pptPresentation.Close();
                }
    

    我在做什么错误?NetOffice 软件包是否也需要像 Office.Interop 一样在服务器上安装 MS Office?

    4

    1 回答 1

    2

    标准的 Windows 和 Linux Web 应用程序使用受祝福的操作系统映像。作为 PaaS 设计的一部分,客户受限于他们可以运行的内容,因为没有 MS Office 互操作,而且 Azure Web Apps 是一个沙盒。

    我的建议是创建一个具有所需依赖项的容器映像,然后将自定义容器部署到Azure Web App Container

    于 2020-12-17T00:56:32.143 回答