asp.net – 在启动期间获取Web应用程序的URI
发布时间:2020-12-16 09:53:22 所属栏目:asp.Net 来源:网络整理
导读:我需要在应用程序启动后立即找到IIS 7.5中托管的ASP.NET Web API应用程序的基本URI,但是在任何客户端请求到达之前.我需要这个的场景如下:通过独立于用户请求运行的计时器执行定期检查,该计时器与应用程序启动一起触发(相同的过程);如果此检查通过某些条件,
我需要在应用程序启动后立即找到IIS 7.5中托管的ASP.NET Web API应用程序的基本URI,但是在任何客户端请求到达之前.我需要这个的场景如下:通过独立于用户请求运行的计时器执行定期检查,该计时器与应用程序启动一起触发(相同的过程);如果此检查通过某些条件,则某些注册用户将收到一封包含我的Web应用程序超链接的电子邮件.现在,我不想在任何地方硬编码该链接,而是从Web应用程序本身动态获取它.从客户端请求的上下文中弄清楚它然后将其缓存在内存中很简单,但是,正如您可以想象的那样,在任何请求到达服务器之前,计时器可能会关闭.
那我怎么能正确地确定应用程序的基URI?我认为最适合的地方是Global.asax.cs文件,在网络应用程序启动期间,但我找不到任何看起来有用的东西. 解决方法
给定完整的URL,例如“
http://mydomain.com/MyApplication/Controller/Action”,您可以从System.Web.Hosting.HostingEnvironment.ApplicationHost对象获取一些此类信息.您可以获得以下内容:
> ApplicationVirtualPath – > “/我的应用程序” 但是,在实际请求进入之前,您将无法获取域名.这是因为IIS网站可以接受许多不同域的请求,其中一些域只能通过DNS获知,并且从未在任何地方配置. 例如,您的网站可以响应mydomain.com和www.mydomain.com.您想要在链接中添加哪个是正确的? 您可以将IIS网站配置为仅接受请求特定主机但无法从ASP.NET应用程序检索的连接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 触发OWIN cookie中间件设置为被动身份
- asp.net – 操纵HTTP响应
- asp.net-mvc – 在ASP.NET MVC中以HTML格式呈现R
- 如何知道asp.net 3.5 sp1和asp.net mvc是否安装在
- asp.net – Session Timeout .NET
- asp.net-mvc – 使用ValueInjecter在具有不同属性
- asp.net – Windows窗体的WYSIWYG Markdown控件?
- asp.net – Umbraco神奇地回归到“看起来还有更多
- ValidateInput属性似乎无法在ASP.NET MVC中工作
- 如何从ASP.NET变量中提供JavaScript变量数据?
热点阅读