9 asp.net-core-mvc asp.net-core
我正在尝试在我的Startup.cs文件中找到应用程序启动时的请求URL(特定于域).
public Startup(IHostingEnvironment env)
{
Configuration = new Configuration().AddEnvironmentVariables();
string url = "";
}
Run Code Online (Sandbox Code Playgroud)
我在Startup.cs文件中需要它,因为它将确定在后面的ConfigureServices方法中启动类中添加的瞬态服务.
获取此信息的正确方法是什么?
遗憾的是,您无法检索应用程序的托管 URL,因为该位由 IIS/WebListener 等控制,并且不会直接流向应用程序。
现在,一个不错的选择是为每个服务器提供一个ASPNET_ENV环境变量,然后分离您的逻辑。以下是一些有关如何使用它的示例:
启动.cs:
public class Startup
{
public void Configure(IApplicationBuilder app)
{
// Will only get called if there's no method that is named Configure{ASPNET_ENV}.
}
public void ConfigureDev(IApplicationBuilder app)
{
// Will get called when ASPNET_ENV=Dev
}
}
Run Code Online (Sandbox Code Playgroud)
这是当 ASPNET_ENV=Dev 时的另一个示例,我们想要进行类分离而不是方法分离:
启动.cs:
public class Startup
{
public void Configure(IApplicationBuilder app)
{
// Wont get called.
}
public void ConfigureDev(IApplicationBuilder app)
{
// Wont get called
}
}
Run Code Online (Sandbox Code Playgroud)
StartupDev.cs
public class StartupDev // Note the "Dev" suffix
{
public void Configure(IApplicationBuilder app)
{
// Would only get called if ConfigureDev didn't exist.
}
public void ConfigureDev(IApplicationBuilder app)
{
// Will get called.
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
5333 次 |
| 最近记录: |