我想在我的页面(使用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
});
//...
};
//...
}
}
该方法可以返回正确的信息,还有一些我可以从属性列表中获得的额外信息。
但是似乎太复杂了!!有没有简单或直接的方法?