Avatar billede KongKurs Juniormester
17. september 2007 - 17:40 Der er 8 kommentarer og
1 løsning

Mangler en måde at kunne deaktivere mit site på

Hej,

Jeg leder efter en smart måde at kunne deaktivere mit site via kode. Noget ala hvis bool open = false, så skal der vises en besked med at siden er under opdatering. MEN det skal være sådan at jeg selv kan tilgå siden for at teste/opdatere mv. (Kunne implementeres via validering af IP måske?)

Og btw. hvis der er fejl på siden under opdatering, skal brugeren stadig helst se "opdateringssiden" og ikke en custom fejl side.

Nogen ideer??

Håber det giver mening :)

Mvh

Frederik
www.veryhot.dk
Avatar billede kalp Novice
17. september 2007 - 18:26 #1
Bare lave en værdi i Web.config som du kan ændre på..

og i Global.axa kan du i Application_Start lave et tjek på om værdien i Web.config er true eller false f.eks og hvis den er false lave et response.redirect til en side hvor du har din besked på om at siden er under opbygning.
Avatar billede driis Nybegynder
17. september 2007 - 18:56 #2
En kun lidt kendt feature er, at smide en html fil med navnet "app_offline.htm" i applikationens rod-directory. Så server .NET kun indholdet af denne, altså præcis det du efterspørger.
Avatar billede nielle Nybegynder
17. september 2007 - 19:10 #3
Du kan f.eks. gøre det med et HTTP module...

1) Put noget i denne stil i din Web.Config:

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <httpModules>
            <add type="SiteBlocker.SiteBlockerClass, SiteBlocker" name="SiteBlockerClass"/>
        </httpModules>
    </system.web>
</configuration>

2) Derefter laver du en DLL som du uploader til bin-folderen på dit site.

Koden for denne DLL kunne være noget i stil med:

using System;
using System.Collections.Specialized;
using System.IO;
using System.Web;
using System.Web.Caching;

// Code adapted from "ASP.NET 2.0 MVP Hacks and Tips", Chapter 17
// Vrox, Wiley Publishing, Inc.
// ISBN: 0-7645-9766-3

namespace SiteBlocker
{
    public class SiteBlockerClass: IHttpModule
    {
        public SiteBlockerClass() { }

        #region IHttpModule Members

        public void Dispose() { }

        public void Init(HttpApplication ctx)
        {
            ctx.BeginRequest += new EventHandler(this.ctx_BeginRequest);
        }

        #endregion

        void ctx_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication app = sender as HttpApplication;

            if (app != null)
            {
                string ip = app.Context.Request.ServerVariables["REMOTE_ADDR"];

                if (ip != null && ip == " ... din IP her ... ")
                    return;

        app.Context.Response.StatusCode = 404;
        app.Context.Response.SuppressContent = true;
        app.Context.Response.End();
            }
        }
    }
}
Avatar billede KongKurs Juniormester
18. september 2007 - 15:07 #4
Det der er problemet er at hvis (under opdateringen!) der er fejl på siden så vises fejlen i stedet for en besked om opdatering...

driis> Fedt trick - tak!
Avatar billede nielle Nybegynder
18. september 2007 - 18:01 #5
Ikke helt forstået ... har du afprøvet mit forslag? Dur det ikke, eller hvad?

Driis' trick er ok, men det bryder jo lidt med dit ønske om at kunne skelne mellem andre og dig selv.
Avatar billede KongKurs Juniormester
18. september 2007 - 18:13 #6
nielle> undskyld, glemte at skrive at jeg lige skal afprøve dit forslag :) vender tilbage..

Tak
Avatar billede KongKurs Juniormester
19. september 2007 - 23:12 #7
nielle> Det virker perfekt... smider du et svar :)
Avatar billede nielle Nybegynder
20. september 2007 - 06:55 #8
Svar :^)

Du behøver selvfølgelig ikke at returnere en 404 - du kan alternativt returnere et stykke tekst á la "Siden er under konstruktion".
Avatar billede KongKurs Juniormester
20. september 2007 - 15:14 #9
Yes, den havde jeg gennemskuet :)

takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

RISMA Systems A/S

Senior PHP-udvikler

Danske Commodities A/S

Procurement manager

Udviklings- og Forenklingsstyrelsen

Backend-udvikler til Java-baserede microservices

Quadsat ApS

Software Developer