Биты и байты.

Биты и байты.
Показаны сообщения с ярлыком ASP. Показать все сообщения
Показаны сообщения с ярлыком ASP. Показать все сообщения

понедельник, 11 апреля 2016 г.

Профилактические работы. Заглушка для сайта.

Хорошим тоном  при переводе сайта в офлайн, т.е.  когда он просто перестает работать является установка страниц заглушек.
На английском языке они называются Coming Soon page , under Construction Page, но  суть их везде одинаковая:
дать пользователю информацию, что это не у него там что-то сломалось, а система действительно не работает и будет  запущена к такому то времени.


Есть несколько вариантов использования таких заглушек.
Вариант 1. С возможностью тестирования.
По текущим портам приложения 80 и 443, ставим заглушки, приложение привязываем  к новому порту например 555 для http  и  556 https.
Пока  пользователи по обычному адресу получают страницу заглушку, мы можем спокойно  обновлять приложение и заниматься его тестированием, по адресу http://сервер:555
Для SharePoint также необходимо настроить сопоставления альтернативного доступа в шарике  через админку , чтобы приложение открывалось по новому порту.

Заглушка состоит из нескольких файлов


web.config  , настраиваем редирект когда файл не найден . ошибка 404

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="false" destination="" exactDestination="true" childOnly="false" httpResponseStatus="Permanent" />
        <defaultDocument>
            <files>
                <clear />
                <add value="index.html" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="Custom">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" path="index.html" responseMode="File" />
        </httpErrors>
    </system.webServer>
    <system.web>
        <authentication mode="Windows" />
        <customErrors defaultRedirect="http://сервер/index.html" mode="On">
            <error redirect="http://сервер/index.html" statusCode="404" />
        </customErrors>
    </system.web>
</configuration>

Сама страница заглушки

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Профилактические работы</title>
       
        <!-- Our CSS stylesheet file -->
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" />
        <link rel="stylesheet" href="underconstructionfilesctc/css/styles.css" />
        <link rel="stylesheet" href="underconstructionfilesctc/countdown/jquery.countdown.css" />
       
        <!--[if lt IE 9]>
          <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
   
    <body>
             <img src="underconstructionfilesctc/img/maint.jpg" alt=""  style="display:block;margin:auto;"/>
             </br>
             <div id="countdown"></div>

             <p id="note"></p>

        <footer>
               <h2><i>Статус:</i> Профилактические работы</h2>
                <a class="tzine" href="mailto:admin@mail.ru">По срочным вопросам <i> обращаться <b> к администраторам</b></i> </a>
        </footer>
       
        <!-- JavaScript includes -->
             <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
             <script src="underconstructionfilesctc/countdown/jquery.countdown.js"></script>
             <script src="underconstructionfilesctc/js/script.js"></script>

    </body>
</html>

Результат выглядит таким образом

среда, 18 февраля 2015 г.

Частичное обновление страницы. AJAX+ ASP.NET

Описание вызова ниже, пример взят отсюда  и немного модифицирован.



Aspx страница

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type = "text/javascript">
        function ShowCurrentTime() {
            $.ajax({
                type: "POST",
                url: "Default.aspx/GetDocStatus",
                data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response.d);
            }
        });
    }
    function OnSuccess(response) {
       // alert(response.d);
        document.getElementById("demo").innerHTML = response.d;
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div style="height: 427px"/>
    Your Name :
    <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
    <input id="btnGetTime" type="button" value="Show Current Time"
        onclick = "ShowCurrentTime()" /><br />
        <asp:Label ID="LabelRefresh" runat="server" Text="Label"></asp:Label>
        <br />
        <br />
        <p id="demo">Результат</p>
    </form>
</body>
</html>

About