我有一个在 IIS 中运行的 ASP.NET WebApi 应用程序。我需要从一个非请求后台 worker 线程中找出应用程序的基本 URI(例如,https://machineName:port/applicationName/)。
通常的建议不起作用,因为在 Application_Start() 方法中创建的工作线程的情况下 Request 对象为 null。
更新:我将端口添加到环境特定的 web.config 文件中,该文件在部署时合并(如@Kenneth 所建议)。
最佳答案
您可以使用 HostingEnvironment.ApplicationVirtualPath
属性。
它位于 System.Web 程序集的 System.Web.Hosting
命名空间中
这是 MSDN 引用:https://msdn.microsoft.com/en-us/library/system.web.hosting.hostingenvironment(v=vs.110).aspx
关于c# - 来自非请求工作线程的应用程序的 ASP.NET WebApi 基础 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34777738/