【问题标题】:Rotativa quit working with CSS files in .NET Core project on serverRotativa 退出在服务器上的 .NET Core 项目中使用 CSS 文件
【发布时间】:2020-09-01 23:27:05
【问题描述】:

我之前让 Rotativa 使用ViewAsPdf() 函数创建局部视图的 PDF。该函数仍然呈现 PDF 并且数据仍然正确,但是由于某种原因,视图中包含的 CSS 和图像不再生成 PDF。除了使用 win-acme 安装 HTTPS 证书外,我所知道的服务器或 IIS 没有进行任何更改。知道为什么会发生这种情况吗?视图本身可以正常工作并填充图像和 CSS。

.NET Core 项目编译为面向 Windows x64 并且是自包含的(不依赖于具有正确框架的服务器),尽管在服务器上安装了 .NET Core Hosting Bundle。

我已经到处寻找解决方案并尝试过: 重新安装 Visual C++(wkhtmltopdf 依赖于其中的几个 .dll)

下载最新版本的wkhtmltopdf并将.exe放在wwwroot下的Rotativa文件夹中

修改 C:\Windows\System32\drivers\etc\hosts 以取消注释

#localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
::1             localhost

更改了css的链接。目前我已经尝试过:

<link rel="stylesheet" type="text/css" href="/css/cards/cardBase.css" media="screen" /> 和 <link rel="stylesheet" type="text/css" href="@Url.Content("~/css/cards/cardBase.css")" media="screen" />

这些都没有解决问题。在它“破坏”之前,对 Url.Content("~pathtocss") 的剃刀语法调用效果很好。

我们甚至启动了另一个虚拟机并从头开始,所有结果都相同。

在这一点上,我遇到了一些想法,应用程序的所有其他方面都可以正常工作。

当我尝试在本地主机上的 Visual Studio 中调试它时,一切正常。这几乎就像是我无法弄清楚的权限问题。

【问题讨论】:

    标签: c# css .net-core rotativa


    【解决方案1】:

    原来问题与 IIS 有关。我将站点的绑定设置为机器本身的 IP,将其更改为“所有未分配的地址”解决了这个问题。我认为这与 localhost 无法使用 127.0.0.1 IP 指向自身有关。希望这可以帮助某人。

    【讨论】:

      猜你喜欢
      • 2015-04-10
      • 2014-12-08
      • 1970-01-01
      • 2018-06-24
      • 2020-06-21
      • 2021-04-01
      • 2013-10-26
      • 2016-05-02
      • 1970-01-01
      相关资源
      最近更新 更多