如何以一种简单的方式获取asp.net核心运行时/框架信息?

时间:2019-02-14 15:33:19

标签: c# asp.net-core

我想在我的页面(使用Swagger UI的WEBAPI页面)上获取并显示asp.net核心运行时信息。

我试图编写以下方法来获取信息。

public static string GetAspDotNetCoreInfo()
{
    var _Target = "";
    var _FileVersion = "";

    var attrs = typeof(IHostingEnvironment).Assembly.GetCustomAttributesData();
    foreach (var a in attrs)
    {
        if (a.AttributeType.FullName == "System.Runtime.Versioning.TargetFrameworkAttribute")
        {
            _Target = a.ConstructorArguments[0].Value.ToString();
        }
        if (a.AttributeType.FullName == "System.Reflection.AssemblyFileVersionAttribute")
        {
            _FileVersion = a.ConstructorArguments[0].Value.ToString();
        }
    }
    return _Target + " " + _FileVersion;
}

然后在

中使用它
public class Startup
{

    // ...

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", Info
            {
                Title = "Title " + GetAspDotNetCoreInfo() // Using here
            });

            //...
         };

         //...
     }
 }

该方法可以返回正确的信息,还有一些我可以从属性列表中获得的额外信息。

但是似乎太复杂了!!有没有简单或直接的方法?

0 个答案:

没有答案