ASP.NET と app_offline.htm で表示する画像を取得する方法はありますか?

StackOverflow https://stackoverflow.com/questions/32715

  •  09-06-2019
  •  | 
  •  

質問

ASP.NET の app_offline.htm 機能を使用する場合、HTML のみが許可され、画像は許可されません。画像を取得して表示する方法はありますか 別のサイトの別の URL を指定する必要がなくなります?

役に立ちましたか?

解決

はい、app_offline.htm ファイルがあるサイトからはアクセスできません。画像は別の場所でホストする必要があります。

他のヒント

別の解決策は、データ URI を使用して app_offline.htm ページ内に画像を埋め込むことです。最近ではこれが広くサポートされています - 詳細については以下を参照してください -http://en.wikipedia.org/wiki/Data_URI_scheme

もう少し作業をしたい場合は、アプリケーションをオフラインにするためのカスタム ページを簡単に作成できます。

考えられる解決策の 1 つ:

  • DisplayOfflineMessage.aspx を作成します。Application["OfflineMessage"] からのオフライン メッセージを表示するラベルが含まれます。
  • ManageOfflineStatus.aspx:オフライン/オンラインのチェックボックス、オフライン メッセージのテキストエリア、および更新ボタンが含まれています。[更新] ボタンは 2 つのアプリケーション レベル変数を設定します。1 つはメッセージ用、もう 1 つはアプリケーションがオンラインかどうかを示すフラグです。(このページは管理者のみがアクセスできるようにする必要があります)

次に Global.asax で

 public void Application_Start(object sender, EventArgs e)
 {
     Application["OfflineMessage"] = "This website is offline.";
     Application["IsOffline"] = false;
 }



 public void Application_OnBeginRequest(object sender, EventArgs e)
 {
     bool offline = Convert.ToBoolean(Application["IsOffline"]);

     if (offline) 
     {

         // TODO: allow access to DisplayOfflineMessage.aspx and ManageOfflineStatus.aspx

         // redirct requests to all other pages
         Response.Redirect("~/DisplayOfflineMessage.aspx");
     }
 }

IE 8 より前のブラウザをサポートしていない場合は、データ URI を使用していつでも画像を埋め込むことができます。

http://css-tricks.com/data-uris/

考えがある。

ASP.NET を有効にしなくても、同じフォルダーを指す別のアプリケーションを作成できます。このアプリケーションによる画像へのアクセスは、app_offline.htm ファイルの影響を受けません。または、アプリケーションを静的コンテンツを含むフォルダーに直接指定すると、app_offline ファイルは存在しません。

ただし、もちろん、このアプリケーションには別の DNS 名 (static.somedomain.com のようなもの) を割り当てる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top