Files
Umbraco-CMS/src/Umbraco.Core/Hosting/IHostingEnvironment.cs

66 lines
2.7 KiB
C#
Raw Normal View History

using System;
namespace Umbraco.Core.Hosting
{
public interface IHostingEnvironment
{
string SiteName { get; }
string ApplicationId { get; }
/// <summary>
/// Will return the physical path to the root of the application
/// </summary>
string ApplicationPhysicalPath { get; }
string LocalTempPath { get; }
/// <summary>
/// The web application's hosted path
/// </summary>
/// <remarks>
/// In most cases this will return "/" but if the site is hosted in a virtual directory then this will return the virtual directory's path such as "/mysite".
/// This value must begin with a "/" and cannot end with "/".
/// </remarks>
2019-11-20 15:21:09 +01:00
string ApplicationVirtualPath { get; }
bool IsDebugMode { get; }
2019-12-04 14:03:39 +01:00
/// <summary>
/// Gets a value indicating whether Umbraco is hosted.
/// </summary>
2019-11-20 15:21:09 +01:00
bool IsHosted { get; }
/// <summary>
/// Maps a virtual path to a physical path to the application's web root
/// </summary>
/// <remarks>
/// Depending on the runtime 'web root', this result can vary. For example in Net Framework the web root and the content root are the same, however
/// in netcore the web root is /www therefore this will Map to a physical path within www.
/// </remarks>
string MapPathWebRoot(string path);
/// <summary>
/// Maps a virtual path to a physical path to the application's root (not always equal to the web root)
/// </summary>
/// <remarks>
/// Depending on the runtime 'web root', this result can vary. For example in Net Framework the web root and the content root are the same, however
/// in netcore the web root is /www therefore this will Map to a physical path within www.
/// </remarks>
string MapPathContentRoot(string path);
/// <summary>
/// Converts a virtual path to an absolute URL path based on the application's web root
/// </summary>
/// <param name="virtualPath">The virtual path. Must start with either ~/ or / else an exception is thrown.</param>
/// <remarks>
/// This maps the virtual path syntax to the web root. For example when hosting in a virtual directory called "site" and the value "~/pages/test" is passed in, it will
/// map to "/site/pages/test" where "/site" is the value of <see cref="ApplicationVirtualPath"/>.
/// </remarks>
/// <exception cref="InvalidOperationException">
/// If virtualPath does not start with ~/ or /
/// </exception>
string ToAbsolute(string virtualPath);
}
}