Documentation / dotnet / WireMock-as-a-(Azure)-Web-App It's also possible to run WireMock as a Web-Application on Azure or IIS.
References
- https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS
- https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-2.1
- https://github.com/WireMock-Net/WireMock.Net/blob/master/examples/WireMock.Net.WebApplication.NETCore3/readme.md
- https://github.com/WireMock-Net/WireMock.Net/issues/564
WireMockService
Code
See this code example how a App-Service could look:
C#
public class WireMockService : IWireMockService
{
private static int sleepTime = 30000;
private readonly ILogger _logger;
private readonly IWireMockServerSettings _settings;
private class Logger : IWireMockLogger
{
// Implement all methods from the IWireMockLogger here ...
}
public WireMockService(ILogger logger, IWireMockServerSettings settings)
{
_logger = logger;
_settings = settings;
_settings.Logger = new Logger(logger);
}
public void Run()
{
_logger.LogInformation("WireMock.Net server starting");
StandAloneApp.Start(_settings);
_logger.LogInformation($"WireMock.Net server settings {JsonConvert.SerializeObject(_settings)}");
while (true)
{
_logger.LogInformation("WireMock.Net server running");
Thread.Sleep(sleepTime);
}
}
}
Web.Config
XML
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
Example on Windows
For a full working example, see examples\WireMock.Net.WebApplication.NETCore3
Publish Settings

Example on Linux
For a full working example, see examples\WireMock.Net.WebApplication.NET6
Publish settings:

