Recommended way of getting the current host?

Have a look at ?debug=requestinfo in DebugMode for different properties available on IRequest at runtime, here’s an example:

http://test.servicestack.net/hello?debug=requestinfo

The AbsoluteUri requires access to the current IRequest which is only available within the context of a Request at runtime. To create a URL you basically just combine the BaseUrl with the Request DTO, e.g:

var absoluteUrl = base.Request.GetBaseUrl().CombineWith(requestDto.ToGetUrl());

But the preferred API is to use IRequest.ResolveAbsoluteUrl() as it also allows customization by overriding ResolveAbsoluteUrl() in your AppHost if needed. So you can resolve an AbsoluteUrl with:

var absoluteUrl = base.Request.ResolveAbsoluteUrl(requestDto.ToGetUrl());