Ich habe ein .NET Core-Projekt (eine Klassenbibliothek) erstellt, das auch auf .NET 4.6 abzielt, das auf den aktuellen HTTP-Kontext zugreifen können muss. Ich sehe, dass wir nicht mehr die statische HttpContext.Current
verwenden können und eine Instanz von IHttpContextAccessor
injizieren müssen. Kann ich das noch in einem Web-API-Projekt verwenden, das auf .NET 4.6 abzielt? Bisher kann ich HttpContextAccessor.HttpContext
nichts als null zurückgeben.Verwenden von HttpContextAccessor in einem .NET 4.6-Projekt
Antwort
Für die Klassenbibliothek denke ich, dass Sie die relevanten Variablen/Objekte möglicherweise über Konstruktor oder Methoden übergeben möchten. Es ist eine gute Übung, weil Ihre Klassenbibliothek nicht bricht, wenn Sie sie beispielsweise in einer Konsolenanwendung ohne httpcontext referenzieren.
Wenn Sie sich in einer Controller-Methode befinden, können Sie einfach Request oder Response verwenden.
Hmm, nun, es ist für eine Logging-Bibliothek, die ziemlich viele Details über die HTTP-Anfrage protokollieren muss, so dass ich nicht alle Details der Anfrage angeben muss, wenn jemand etwas protokollieren muss. – Tom
- 1. HttpContextAccessor, IPrincipal und ServiceCollection
- 2. Verwenden von System.Security.SecureString in .NET Remoting App?
- 3. Verwenden von Blowfish Encryption innerhalb von .NET
- 4. Verwenden von Java & .NET in der Projektentwicklung
- 5. Verwenden von Erweiterungsmethoden in .NET 2.0?
- 6. Verwenden von Reflection in .NET Core
- 7. Verwenden der D-Programmiersprache in einem .NET-Kontext
- 8. Verwenden von Erweiterungsmethoden mit .NET Framework 2.0
- 9. Architektur von Wiederholungen in einem .NET-Dienst
- 10. Verschieben von Projektdateien in einem .NET-Projekt
- 11. Subtrahieren Array von einem anderen in. NET
- 12. wie IIS6 zu konfigurieren und zu verwenden .net 3.5 mit einem VDir von .net 1.1?
- 13. Verwenden von System.Threading.Tasks.Parallel mit .NET Portable Subset
- 14. .Net Remoting ohne .Net Remoting zu verwenden?
- 15. Verwenden der .NET-Bibliothek von PowerShell
- 16. Verwenden von anonymen Delegaten mit .NET ThreadPool.QueueUserWorkItem
- 17. Verwenden von JQuery mit .NET 1.1-Webanwendung
- 18. Verwenden von ResX-Ressourcen in .NET Core 1.0
- 19. Verwenden von Uploadify mit Sharepoint und .net
- 20. Verwenden von ICSharpCode.AvalonEdit auf .Net 3.5?
- 21. Verwenden von NUnit mit .NET 3.5
- 22. .Net Reflection zum Definieren von OfType verwenden
- 23. Verwenden von .NET Core on Desktop-Anwendung
- 24. Verwenden von PowerShell mit .NET 3.5-Laufzeitbibliotheken
- 25. Python-COM-Server von .NET verwenden
- 26. Verwenden von Dotfuscator mit .net-Kern
- 27. Auslösen von Ausnahmen von einem Konstruktor in. NET
- 28. Verwenden von Delegaten in C# .Net, was passiert, wenn mir die Threads im .NET Threadpool ausgehen?
- 29. Welcher .Net Timer() zu verwenden
- 30. Verwenden Sie Windows Explorer in .NET-Code?
Haben Sie 'HttpContextAccessor' registriert? –
Sie möchten, dass derselbe Code sowohl auf ASP.NET als auch auf ASP.NET Core funktioniert? Ich bin mir nicht sicher, ob das in diesem Fall möglich ist. – svick
@ademcaglin Nun von was ich verstehe, müssen Sie IApplicationBuilder verwenden, um es zu registrieren, die ich nicht in ASP.NET habe. – Tom