我可以从 "IWebJobsBuilder "确定 "IsDevelopment "吗?

问题描述 投票:1回答:1

很大程度上是一个XY问题,但我对底层的答案也很感兴趣.XY上下文见底。


我在一个.NET Core 3 AzureFunctions (v3) App项目中。这段代码让我的问题相当清晰,我想。
namespace MyProj.Functions
{
    internal class CustomStartup : IWebJobsStartup
    {
        public void Configure(IWebJobsBuilder builder)
        {
            var isDevelopment = true; //Can I correctly populate this, such that it's true only for local Dev?
            if(isDevelopment)
            {
                // Do stuff I wouldn't want to do in Prod, or on CI...
            }
        }
    }
}


XY上下文。

我已经为我的Function设置了SwaggerSwashbuckle,理想情况下,我希望当我在本地启动Function时,它能自动打开Swagger页面。

在API项目中,这在项目属性中是很容易实现的,但是Functions csproj没有 "onDebug "启动网页的选项,整个项目属性页都是灰色的。

以上是我调用的上下文。builder.AddSwashBuckle(Assembly.GetExecutingAssembly()); 我已经添加了一个呼叫 Diagnostics.Process 在启动过程中启动一个网页。这对我来说很好用。我目前在一个 [Conditional("DEBUG")] 标志,但如果可能的话,我希望它能更有约束性。绝对欢迎其他的解决方案,但我还没能找到任何解决方案,所以 ...

asp.net-core startup development-environment environment azure-function-app
1个回答
0
投票

虽然我不完全确定在 azure functions 中是否可以,但我认为设置 ASPNETCORE_ENVIRONMENT 应用程序设置,如在 https:/docs.microsoft.comen-usazureazure-functionsfunctions-如何使用azure-function-app-settings。 应该允许你通过注入一个IHostEnvironment依赖和检查

.IsDevelopment()

在注入的依赖关系上。

© www.soinside.com 2019 - 2024. All rights reserved.