(Hands-on demo for TrueWatch users & partners)
This workshop guides you through deploying the eShopOnWeb ASP.NET Core 8.0 sample on Windows IIS and then instrumenting it with TrueWatch.
- Part A (Optional): Fresh setup of Windows IIS & .NET environment, full application deployment.
- Part B: TrueWatch onboarding and instrumentation for existing IIS apps.
Who should follow which part?
- New to IIS & .NET? Start at Part A.
- Already have your app on IIS? Skip Part A and jump to Part B.
By the end of this guide you will have:
- A published ASP.NET Core 8.0 application (
eShopOnWeb) hosted by Windows IIS
| Requirement | Notes |
|---|---|
| TrueWatch workspace | Register at https://id1-auth.truewatch.com/businessRegister |
| Windows Server (e.g., 2025) | On AWS EC2, Parallels, VMware, or bare metal |
| Admin RDP access | Port 3389 open from your IP |
# Install Git
winget install --id Git.Git -e --source winget
# Install .NET 8 SDK
winget install --id Microsoft.DotNet.SDK.8 -e
# Relaunch PowerShell as Admin and Verify
git --version
dotnet --version
git clone https://github.com/dotnet-architecture/eShopOnWeb.git C:\inetpub\wwwroot\eShopOnWeb
cd C:\inetpub\wwwroot\eShopOnWeb\src\Web
dotnet publish -c Release -o C:\inetpub\wwwroot\eShopOnWeb\publishDownload "ASP NET Core Runtime 8.0 Hosting Bundle" from https://dotnet.microsoft.com/download/dotnet/8.0/runtime and save into C:\Downloads.
# 1. Install silently (as Admin)
Start-Process -FilePath C:\Downloads\dotnet-hosting-8.0.18-win.exe `
-ArgumentList '/quiet','/norestart' -Wait -Verb RunAs
# 2. Verify registration
Import-Module WebAdministration
Get-WebGlobalModule AspNetCoreModuleV2 | Select Name, Image
# 3. Restart IIS
iisreset /restart
$pub = 'C:\inetpub\wwwroot\eShopOnWeb\publish'
New-Item -ItemType Directory -Path "$pub\logs" -Force
$pool='eShopOnWebPool'
icacls "$pub\logs" /grant "IIS_IUSRS:(M)" /T# Install the full IIS role (Web Server) plus Management tools
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
# Now these should show up and be Running (or Stopped if you haven’t started them yet):
Get-Service W3SVC, WAS | Select-Object Name, Status
# If they’re stopped, start them:
Start-Service WAS
Start-Service W3SVC
Install-WindowsFeature Web-Scripting-Tools -IncludeManagementTools
Import-Module WebAdministration
New-WebAppPool $pool
Set-ItemProperty "IIS:\AppPools\$pool" -Name startMode -Value AlwaysRunning
Set-ItemProperty "IIS:\AppPools\$pool" -Name processModel.loadUserProfile -Value True
New-Website -Name eShopOnWeb `
-PhysicalPath $pub `
-Port 5000 -ApplicationPool $poolVisit https://www.microsoft.com/en-za/sql-server/sql-server-downloads and download SQL Server 2022 Express. Choose the Basic Installation method.
Install SSMS when prompted.
iisreset /restart
Invoke-WebRequest http://localhost:5000/ -UseBasicParsingOpen http://localhost:5000/ in your browser — the eShopOnWeb landing page should appear.
- In TrueWatch console: Integrations → DataKit → Windows, copy the install script.
- Run it in PowerShell as Admin.
- Verify host under Infrastructure → Hosts.


Edit C:\Program Files\datakit\conf.d\datakit.conf:
default_enabled_inputs = ["cpu", "disk", "diskio", "mem", "swap", "system", "hostobject", "net", "host_processes", "dk", "statsd", "ddtrace", "windows_event"]
Restart DataKit:
datakit service -R
-
Copy the
web.configfile from this repository toC:\inetpub\wwwroot\eShopOnWeb\src\Web\ -
Add the following environment variables to the
web.configfile:
<environmentVariable name="DD_AGENT_HOST" value="127.0.0.1" />
<environmentVariable name="DD_TRACE_AGENT_PORT" value="9529" />
<environmentVariable name="DD_RUNTIME_METRICS_ENABLED" value="1" />
<!-- other DD_ vars as needed -->- In TrueWatch: RUM → Create Application, copy snippet.
- Edit
_Layout.cshtmlatC:\inetpub\wwwroot\eShopOnWeb\src\Web\Views\Shared\_Layout.cshtml, paste under<head>.


Publish the changes and restart the app pool:
cd C:\inetpub\wwwroot\eShopOnWeb\src\Web
dotnet publish -c Release -o C:\inetpub\wwwroot\eShopOnWeb\publish
Restart-WebAppPool eShopOnWebPool- Install .NET Tracer MSI (e.g.,
datadog-dotnet-apm-3.21.0-x64.msi). - Restart IIS:
net stop was; net start w3svccd C:\inetpub\wwwroot\eShopOnWeb\src\Web
dotnet publish -c Release -o C:\inetpub\wwwroot\eShopOnWeb\publish
Restart-WebAppPool eShopOnWebPool© 2025 TrueWatch Demo Workshop




