【发布时间】:2012-12-14 02:12:11
【问题描述】:
我的生产站点的应用程序池每 2 小时左右回收一次。我注意到当第一次调用该站点时,应用程序池会缓存基本 URL(例如 www.mysite.com)。这是有道理的,因为它用于解析 ASP.NET 中的相对路径,例如~/MyFolder/MyPage.aspx,解析为:
http://www.mysite.com/MyFolder/MyPage.aspx
但是,由于可以通过我们的主机名访问该站点,例如
http://masdfg.my.provider.net
IIS 认为 url 是
http://masdfg.my.provider.net/MyFolder/MyPage.aspx
如您所见,这会导致 SSL 以及其他问题。我怎样才能防止这种情况发生?
更新:解决方法是创建一个 url 重定向。如果有人知道如何防止这种情况,请告诉我。
【问题讨论】:
-
应用程序池被回收以清除未使用的内存。我们还使用了有时需要刷新的第 3 个 API。
-
嗨 - 应用程序池“缓存”不会崩溃
-
ASP.NET 以什么方式缓存它?您能否包含一些您看到返回的缓存值的代码?
-
嗨 Ashley - 在我的代码中,我使用“HttpContext.Current.Request.Url”来获取基本 url。这有时会返回不正确的 url(参见我上面的问题) - 此外,如果我使用“~/mypage.aspx”生成我的 asp.net 链接,则 ~ 可以解析为错误的 URL。
-
您确定您在 IIS 中的站点绑定是正确的吗? IIS 根目录 > 您的站点 > 右键单击 > 编辑绑定。有什么奇怪的吗?