ASP.NET - 图像未在运行时呈现

时间:2017-06-24 21:54:58

标签: html css asp.net

请帮助我解决我在网络应用程序中遇到的一个奇怪问题。在下面的场景中,图像(公司徽标)未在运行时呈现。

我设计了一个名为 default2.aspx 的非常简单的页面。此页面的目的是在应用程序停机时作为维护页面。 实现此目的的逻辑是在web.config中使用SiteIsActive切换键,使用" N"代表停机时间。

在Global.asax中,我实现了" Application_BeginRequest" 方法来检查SiteIsActive标志并重定向到default2.aspx。 虽然功能在两个SiteIsActive案例中都正常运行,但图像(公司徽标)在运行时未在default2.aspx中呈现。 但是当我通过将其设置为启动页面直接浏览default2.aspx时,徽标/图像会在运行时显示。

注意:此方案正在Visual Studio 2015中进行尝试,尚未部署。

当交换机(SiteIsActive = N)并被重定向到default2.aspx

时,对于为什么没有渲染图像的任何建议都会有所体现

下面的default2.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html>

<head runat="server">

    <link href="~/Image/BrightSide.css" rel="stylesheet" type="text/css"/>

    <title>AAA</title>

</head>

<body id="bodyindex">

    <div id="wrap" style="width: 1000px;">



        <div id="header">            

            <table style="background-color: rgb(255, 255, 255);" width="100%">

                <tbody>

                    <tr>

                        <td width="15%">

                            <img src="~Image/AAA_Image.jpg" /></td>

                        <td width="32%">

                            <h1 style="font: bolder 3.1em 'Trebuchet MS',Arial,Sans-serif;">AAAy</h1>

                        </td>

                        <td align="right" width="53%">&nbsp;</td>

                    </tr>

                </tbody>

            </table>



            <br>

            <br>

        </div>

        <div id="content-wrap">


            <h1 align="center">The AAA website is currently unavailable due to scheduled maintenance.<br />

                <br />

                We are sorry for the inconvenience. Please re-visit the site.

          <!--       <div class="caption" style="height:50px;"><div class="content"></div></div> -->

            </h1>

            <br>

            <br>

            <br>

            <div style="clear: both;">

                <!-- wrap lower portion-->

                <div style="width: 75%; float: left;">

                    <h1>&nbsp;</h1>

                    <p>&nbsp;</p>

                </div>

                <br>

                <!-- content-wrap ends here -->

            </div>

            <!-- footer starts here -->

            <div id="footer">



                <div class="footer-left">

                    <p class="align-left">

                        � 2017 <strong>AAA</strong>

                    </p>

                </div>



                <div class="footer-right">

                    <p class="align-right">&nbsp;</p>

                </div>



            </div>

            <!-- footer ends here -->



            <!-- wrap ends here -->

        </div>



    </div>

</body>

</html>

Application_BeginRequest中定义的代码。

我实施的逻辑是在两个注释&#34; //维护逻辑页面&#34;。另请注意我已经包含了一些用于IPAddress排除的逻辑,对于这些IP,常规网站将被显示,而其他人则显示维护页面:

public void Application_BeginRequest(object sender, EventArgs e)

{

    // Check the application validity

    LicenseHelper.CheckValidity();



    // Enable request debugging



    // Application start events

    FirstRequestInitialization(sender, e);



    CMSRequest.BeforeBeginRequest(sender, e);



    // Check if Database installation needed

    if (InstallerFunctions.InstallRedirect())

    {

        return;

    }



    // Enable debugging

    SetInitialDebug();



    CMSRequest.AfterBeginRequest(sender, e);



    // Logic for maintainence page

    HttpContext context = HttpContext.Current;

    string maintenancePage = System.Configuration.ConfigurationManager.AppSettings["Maintenance_RedirectTo"];



    string siteIsActive = System.Configuration.ConfigurationManager.AppSettings["SiteIsActive"];



    if (siteIsActive != null && siteIsActive.Equals("N", StringComparison.CurrentCultureIgnoreCase))

    {

        if (!context.Request.Path.Equals("/" + maintenancePage))

        {

            string exceptionIP = string.Empty;

            string ips = System.Configuration.ConfigurationManager.AppSettings["Maintenance_Redirect_Exceptions"];

            string ipAddress2 = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];



            if (ipAddress2 == null || ipAddress2.ToLower() == "unknown")

                ipAddress2 = Request.ServerVariables["REMOTE_ADDR"];



            //ipAddress2 = "127.0.0.1";



            if (ips != null)

            {

                System.Collections.Generic.List<string> ipAddressList = new System.Collections.Generic.List<string>(

                                            ips.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries));



                if (ipAddressList != null)

                {

                    exceptionIP = ipAddressList.Find(delegate (string ipAddress)

                    {

                        return ipAddress.Equals(ipAddress2, StringComparison.CurrentCultureIgnoreCase);

                    });

                }

            }





            if (exceptionIP == null || exceptionIP.Length <= 0)

            {

                this.Response.Redirect(maintenancePage);

            }

        }

    }

    // Logic for maintainence page

}

0 个答案:

没有答案