作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有点遥远,但是当没有 HttpContext.Current 可用时,ASP.NET 中有没有办法动态获取网站的 URL (http://www.example.com)。
没有 HttpContext,因为代码在后台线程* 中运行(但在 ASP.NET AppDomain 下)。我有一个每天晚上发送电子邮件的后台进程,需要包含网址,但由于部署和测试,我不想对其进行硬编码(它从 http://localhost:12345 更改为 http://testing.example.com,然后更改为实时站点的 http://www.example.com )。
*请不要建议 Windows 服务,我知道这些,但托管限制阻止我这样做。
最佳答案
您的应用程序必须构造并启动线程。创建线程时,HttpContext.Current 应该可用,存储重要的 Web 地址的相关部分,并传递给包装线程功能的对象的构造函数,或者如果您没有自定义对象,将其存储在线程可以访问它的位置。如果您使用后一种方法,您将需要使用 lock() {} 输入关键部分。
关于ASP.NET - 在没有 HttpContext.Current 的情况下获取网站的 URL(在后台线程中运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398717/
我是一名优秀的程序员,十分优秀!