This tutorial demonstrates how to deploy the .NET Framework LEADTOOLS Document Service on a Windows Server 2019.
Overview | |
---|---|
Summary | This tutorial covers how to host the LEADTOOLS Document Service on a Windows Service using IIS hosting. |
Completion Time | 20 minutes |
Platform | .NET Framework Application |
IDE | Visual Studio 2019, 2022, Visual Studio Code - Client |
Development License | Download LEADTOOLS |
Get familiar with the basic steps of running the LEADTOOLS Document Service by reviewing the Configure and Run the Document Service - .NET Framework tutorial, before working on the Deploy LEADTOOLS Document Service on Windows Server - .NET Framework tutorial.
Note
This tutorial covers how to deploy the LEADTOOLS Document Service to a Windows Server. However, the Document Service is an example project and not intended for a production environment.
By following the steps in the Configure and Run the Document Service - .NET Framework tutorial, the Document Service project is ready to publish. Open the command line terminal, and cd
into this directory: <LEADTOOLS_INSTALLDIR>\LEADTOOLS23\Examples\Document\JS\DocumentServiceDotNet\fx
.
Insert the following command into the terminal:
dotnet publish -c Release -o DocumentServiceDlls DocumentService_Nuget.sln
This command will gather the dependencies and build the project, then output all of the DLL's into the <LEADTOOLS_INSTALLDIR>\Examples\Document\JS\DocumentServiceDotNet\fx\DocumentServiceDlls
folder. The server requires the DocumentServiceDlls
folder and the LEADTOOLS License
files to run the Document Service. Upload the DocumentServiceDlls
folder and the LEADTOOLS License
files to the server.
Note
If "dotnet publish" is failing to execute, the same publish functionality can be achieved using Visual Studio. Right click the project file and click "Publish". Then, create a new folder publish profile. Make note of the output file path.
The Windows Server has to be configured to run the service. Log in to the server and open the Server Manager.
When the Server Manager launches, click the Add roles and features
option in the main menu under Welcome to Server Manager
. Click the Next
button until you get to the Server Roles
section. Select Web Server(IIS)
, then click Next
to move onto Features
.
Under the Features
section, select the following:
IIS Hostable Web Core
Click Next
until you get to the Confirmation
page. Once on the Confirmation
page, click Install
to install the selected features.
The LEADTOOLS Document Service Fx project is a .NET Core application using .NET Framework DLL's for background processes. Therefore, it requires the ASP.NET Core Runtime
. Open a browser and navigate to https://dotnet.microsoft.com/en-us/download/dotnet/6.0. Install the Windows Hosting Bundle
under the ASP.NET Core Runtime
section.
When the runtime environment is installed, restart the server. Additionally, if errors in relation to the AspNetCore module appear, refer to the note at the bottom of this guide.
The 2015-2022 Visual C++ Runtime package is required to run the .NET Framework Document Service. To install the latest supported Visual C++ runtimes navigate to: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads.
When the runtime environment is installed, restart the server.
The .NET Framework 4.8 Runtime is required for the application to run the .NET Framework Document Service. Open a browser and navigate to: https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48. Ensure that you download the Runtime and not the Developer pack.
Once the .NET Framework Runtime is installed, restart the server.
Create a new user that will run the application and only have permission to access the Document Service. By restricting the user's permissions the server can be sure that only Document Service resources are accessed by the Document Service. First open the Start Menu and select Change account settings
.
Under Other users
, select Add someone else to this PC
.
Click I don't have this person's sign-in information
, then click Add a user without a Microsoft account
. Fill out the form to create a local account. This example will use doc_service
as the new user.
Click Next
to create the new user.
Open the Internet Information Services (IIS) Manager.
Right-click Application Pools
and select Add Application Pool
.
Create a new application pool. This tutorial will call the new application pool DocumentServiceAppPool
. For the .NET CLR version
select No Managed Code
, and for the Managed pipeline mode
select Integrated
. Click OK
to create the application pool.
After the application pool has been created, open its Advanced Settings
menu.
Change the application pool's Identity
to the user that was created earlier in this tutorial.
Click OK
to apply the changes.
In the IIS Manager, right-click Sites
and select Add Website
.
Create the Document Service website by filling out the Add Website
form. Choose a name for the application, this tutorial will call it DocumentService
. Select the application pool that was created earlier in this tutorial, then select the physical path to the Document Service DLL's folder. Click OK
to create the website.
Open a browser on the server and navigate to http://localhost. Alternatively, you can navigate to http://<Server IP Address>:80
.
Note
If the license file is not checked, make sure that the
appsettings.json
file is configured correctly as seen in the Configure and Run the Document Service - .NET Framework tutorial.If browsing the website via IIS yields "502.5 - Process Failure (502 Bad Gateway)", ensure that only the correct version of ASP.NET Core Hosting Bundle is installed on the machine. Additionally, some modifications may be necessary in the published "web.config" file. Find the following line:
<aspNetCore processPath="%LAUNCHER_PATH%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" arguments="%LAUNCHER_ARGS%" />
And modify it to:
<aspNetCore processPath="<ABSOLUTE PATH TO PUBLISHED DOCUMENTSERVICE.EXE>" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" arguments="" />
Furthermore, when using .NET 6.0+, the module required for
aspNetCore
is now calledAspNetCoreModuleV2
. In the<add>
tag within<handlers>
,web.config
, ensure thatmodules="AspNetCoreModuleV2"
.After making the changes, restart IIS to resolve the 502.5 error.
This tutorial showed how to deploy the LEADTOOLS .NET Framework Document Service on a Windows server.