加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Umbraco神奇地回归到“看起来还有更多工作要做”

发布时间:2020-12-16 06:48:20 所属栏目:asp.Net 来源:网络整理
导读:我有一个客户,他已经报告了5/6次,该网站已经以某种方式返回到未发布的模式.我们不确定是什么原因造成的,一般情况下,当没有人在网站上工作时就会发生这种情况.他们确实有一些过去的人,可能仍然有恶意的意图关闭网站(所以这也可能是一个问题). Umbraco中是否存
我有一个客户,他已经报告了5/6次,该网站已经以某种方式返回到未发布的模式.我们不确定是什么原因造成的,一般情况下,当没有人在网站上工作时就会发生这种情况.他们确实有一些过去的人,可能仍然有恶意的意图关闭网站(所以这也可能是一个问题).

> Umbraco中是否存在任何已知的安全问题,用户可能会恶意取消发布整个网站?
> Umbraco有没有可能导致这种情况发生的错误?
> Umbraco是否检查数据库中是否有已发布的标志,或者只是在选择显示“还有更多工作要做”消息之前检查是否存在XML文件?

解决方法

如果无法连接到数据库,Umbraco将显示此页面.

在较早版本的Umbraco中,一旦发生这种情况,该网站将保持这种状态,直到它被重新发布 – 这似乎已经修复(我不确定从哪个版本).如果您遇到这种情况并且升级不是一个选项,那么解决方法是将以下代码放在/config/splashes/noNodes.aspx的顶部:

<script runat="server">    
    protected void Page_Load(object sender,EventArgs e)
    {
        Server.ScriptTimeout = 100000;
        var cacheFile = IOHelper.MapPath("/App_Data/umbraco.config");
        try
        {
            var r = XmlReader.Create(cacheFile,new XmlReaderSettings() { DtdProcessing = DtdProcessing.Ignore });
            var d = new XmlDocument();
            d.Load(r);
            var n = d.SelectSingleNode("//root");
            r.Close();
            if (n.ChildNodes.Count == 0)
            {
                Response.Write("Republishing Site......");
                Response.Flush();
            }
            else
            {
                Response.Write("Site Was Already Published......");
                return;
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
            Response.Write("Cache missing,republishing.....");
            Response.Flush();
        }

        Document.RePublishAll();
        library.RefreshContent();

        Response.Write("Completed");
        Response.Flush();

        Response.Redirect("/");

        Response.End();
    }
</script>

(这段代码本来不是我的 – 我不记得从哪里得到它).代码尝试重新发布该站点,以便一旦数据库连接再次可用,该站点就会重新启动.

您可能还想编辑/config/splashes/noNodes.aspx的内容,以向您的用户显示更合适的站点维护或错误消息.

您是否了解客户网站遭受此类损坏的任何计划数据库维护?如果没有,您可能需要查看他们的托管.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读