[英]Printing via ASP.NET Core-Web-Api hosted as Windows Service
我是ASP.NET Core-Web-Api 的新手,也許你對我有一些提示。 我使用ASP.NET Core 7.0 。 我將我的出版物托管為Windows 服務。 作為基礎,我使用Microsoft 的天氣預報演示應用程序。 我對此進行了擴展,以便我可以列出所有本地 Windows 打印機並通過另一個界面打印一個簡單的字符串。
當我通過 Visual Studio 構建我的 ASP.NET Core-Web-Api 時,我可以選擇在調試或發布模式下使用“ https ”或“ IIS Express ”來托管它。 通過 Swagger 我可以使用我所有的功能,即使是打印作品。
現在我將我的應用程序托管為Windows 服務,也可以通過Swagger訪問該應用程序。 我可以列出我的打印機,還可以獲取有關天氣預報的數據。 但是我不能再打印了?
我使用以下包
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="7.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="7.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
</ItemGroup>
我使用 PageDocument 創建我的文檔,在 Visual Studio 中工作正常,但在 Windows 服務中卻不行。
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = printer;
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.Print();
對於System.Printing和System.Drawing.Printing我也看到了提示。 因此我認為這是因為我托管為 Windows 服務。
System.Printing 命名空間中的類不支持在 Windows 服務或 ASP.NET 應用程序或服務中使用。 嘗試從其中一種應用程序類型中使用這些類可能會產生意想不到的問題,例如服務性能下降和運行時異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.