在我的startup.cs类中,我检查它是否是DEV环境,并且在我的appsettings.json和appsettings.development.json文件中有很多键值对。
但是我想封装一些仅在 DEV 环境中运行的代码,并且当部署到 UAT、TEST 或 LIVE 时,不会部署代码。
如何才能实现这一目标?
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseMigrationsEndPoint();
}
else
{
app.UseHsts();
}
Run Code Online (Sandbox Code Playgroud)
并有一个类,因为这是我的类中的一个值,用于获取子域运行的 URL(这也是我的 IDENTITY 数据库中的角色的值)
private string SubDomain(HttpContext httpContext)
{
HttpRequest request = httpContext.Request;
string url = request.Headers["Host"];
string subDomainUrl = url.Replace("https://", "").Split('/')[0];
Run Code Online (Sandbox Code Playgroud)
//我希望能够基于 http://localhost:44312/?role=adminUsers 获取我的域 //因此,如果它在本地主机上运行并且角色是管理员用户,则这只会在本地执行,作为远程 URL有http://adminusers.mydomain.com
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<InjectMyClassHere>(); //My class or interface goes here
Run Code Online (Sandbox Code Playgroud)
我希望这一点很清楚。我怎样才能实现这个目标?即让此类仅在 DEV 中执行,而不部署在 UAT、TEST 或 LIVE 环境中