Skip to main content
 首页 » 编程设计

c#之来自非请求工作线程的应用程序的 ASP.NET WebApi 基础 Uri

2024年05月10日42birdshome

我有一个在 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