Ser*_*rge 4 asp.net-core asp.net-core-1.1
我想在 ASP.NET Core 1.1 的页脚中显示
© 2017 我的应用程序
<p>© 2017 @(ApplicationName)</p>
Run Code Online (Sandbox Code Playgroud)
如何获取应用程序名称?
我找到了一篇关于这个主题的文章,但它令人困惑PlatformServices.Default.Application.ApplicationName,因为它说不要使用Microsoft.Extensions.PlatformAbstractions,但没有说明应用程序名称要使用什么......
You could try:
@using System.Reflection;
<!DOCTYPE html>
<html>
....
<footer>
<p>© 2017 - @Assembly.GetEntryAssembly().GetName().Name</p>
</footer>
</html>
Run Code Online (Sandbox Code Playgroud)
I am not sure it is a good way, but it works for me :)
有很多方法可以实现它。这是我在我的项目中的做法。
我的项目名称通常与应用程序名称不同,应用程序名称可能有空格或更长。因此,我将项目名称和版本号保留在appsettings.json文件中。
{
"AppSettings": {
"Application": {
"Name": "ASP.NET Core Active Directory Starter Kit",
"Version": "2017.07.1"
}
}
}
Run Code Online (Sandbox Code Playgroud)
将设置从appsettings.json文件加载 到AppSettingsPOCO。然后它会自动在 DI 容器中注册为IOptions<AppSettings>.
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
}
Run Code Online (Sandbox Code Playgroud)
注意:我还有一些其他设置,以便将它们全部放在 AppSettings POCO 中。
public class AppSettings
{
public Application Application { get; set; }
}
public class Application
{
public string Name { get; set; }
public string Version { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
注入IOptions<AppSettings>查看。如果您愿意,也可以将其注入控制器。
@inject IOptions<AppSettings> AppSettings
<footer class="main-footer">
@AppSettings.Value.Application.Version
@AppSettings.Value.Application.Name</strong>
</footer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9287 次 |
| 最近记录: |