在ASP.Net Core中,我可以通過提供多個appsettings爲不同的環境設置不同的應用程序設置。 <環境名稱> .json文件。但是我怎麼能爲不同的環境使用不同的web.config文件?ASP.Net按環境分類的不同web.config
2
A
回答
0
我有同樣的問題。 最後,在網上尋找後,我認爲web.config被認爲已經過時了ASP.NET Core(中間件方法)。 實際上,您想要用WEB.CONFIG(對於IIS)來完成的工作應該使用ASP.NET Core app.config或通過自定義中間件(新哲學等)來完成。
在我而言,我不得不把我的web.config(僅適用於具有SSL我的生產環境)以下部分:
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
</customHeaders>
</httpProtocol>
由於WEB.CONFIG是過時的(當然你仍然可以使用它)爲ASP.NET核心。您必須使用app.config或Middleware方法(兩者都可以互補)。這裏是我用中間件代碼替換我的web.config的示例。
在Startup.cs(該文件是你的項目的根),你必須註冊自定義的中間件 - 只需添加1號線(app.UseMyCustomMiddleware)如下:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
if (env.IsDevelopment())
{
...
}
else
{
...
app.UseMyCustomMiddleware();
}
...
}
實施MyCustomMiddleware的類應該是這樣的(我把2班在同一個文件只是爲了清楚起見):
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;
namespace MyWeb // Change this name to match your project name if needed
{
public static class MyCustomMiddlewareExtensions
{
public static IApplicationBuilder UseMyCustomMiddleware(this IApplicationBuilder app)
{
return app.UseMiddleware<MyCustomMiddleware>();
}
}
public class MyCustomMiddleware
{
private readonly RequestDelegate _next;
public MyCustomMiddleware(RequestDelegate next)
{
this._next = next;
}
public async Task Invoke(HttpContext context)
{
// Put your code here (at my concern, i need the code below)
context.Response.Headers.Add("Strict-Transport-Security", "max-age=31536000; includeSubDomains; preload");
// Very important
await _next(context);
}
}
}
希望我的解釋,我的樣本可以幫助你。
相關問題
- 1. ASP.NET web.config文件中的環境變量
- 2. 在開發和生產環境中使用不同的Web.config
- 3. 不同環境
- 4. 不同的環境
- 5. ASP.NET在不同環境下的意外和不同行爲
- 6. 爲不同環境分離Google Analytics
- 7. GIT中三種不同環境的三個不同分支
- 8. 在不同的gcc環境
- 9. 在不同的環境
- 10. CSS和不同的環境
- 11. 讀取web.config中的環境變量
- 12. 多個環境的Web.config轉換
- 13. VSTS - 發佈環境特定的web.config
- 14. 如何對不同的環境不同的環境配置文件Spring MVC中
- 15. 不同DATESTYLE值相同的環境
- 16. 使用aspnet_iisreg跨環境web.config加密
- 17. 在生產環境中更改Web.Config
- 18. VS團隊服務Web.config轉換環境
- 19. Web.config在分段環境上失敗,但在本地運行?
- 20. 如何在ASP.NET MVC 6中爲不同的環境註冊不同的服務?
- 21. ASP.NET集成環境
- 22. FLYWAY:如何爲不同環境維護不同環境的參考數據
- 23. spockframework按環境分組測試
- 24. 不同於測試和生產環境的開發環境?
- 25. 自定義web.config部分(ASP.NET)
- 26. 不同語言的iPhone info.plist按鍵用於不同的語言環境
- 27. Android C2DM在不同的環境中(分段,生產,調試)
- 28. 爲不同的環境配置Sentry(分段,生產)
- 29. 在dotnet core 2的不同環境中運行不同的數據庫類型
- 30. Erlang應用程序:不同的環境
ASP.Net Core不使用web.config文件。你想改變什麼配置? – DavidG
謝謝@DavidG。我需要web.config本身不是用於ASP.Net Core,而是用於部署到的IIS。我的環境需要稍微不同的IIS設置。 – Andrew
將web.config文件部署到生產環境後,您可以將其從發佈中排除,以便dev副本不會覆蓋它。 –