2009-03-31 33 views
1

IISでWebアプリケーションを更新するベストプラクティスは何ですか?IISでWebアプリケーションを更新する - ベストプラクティス

私たちのアプリケーションにアクセスしたときに最初に表示されるページは、ログインページです。

私が達成したいのは、訪問者がアプリケーションが更新されていることを示すページにリダイレクトされることです。管理者の役割が正常にログインできるユーザー(すべてが正常に動作しているかどうかを確認する)

web.configでは、アプリケーションが更新されているかどうかを確認します(updating = [true | false] authentication_event:あなたはかなりそれを考え出したくらい好きなアドバイスは非常に理解されるであろう

if (updating) 
{ 

    if (User.IsInRole("admin")) 

    { 

     redirect to main web app... 

    } 
    else 
    {  

    redirect to web being updated page.... 

    } 

} 
else 
{ 

    redirect to main web app.. 

} 

..

答えて

1

が見える

if (WebConfigurationManager.AppSettings["updating"]=="true") 
    if (User.IsInRole("admin")) 
     Response.Redirect("~/Main.aspx"); 
    else 
     Response.Redirect("~/Updating.aspx"); 
else 
    Response.Redirect("~/Main.aspx"); 
1

。 web.configを使用する代わりに、web.configファイルを更新するたびにアプリケーションが再起動し、現在のアプリケーション変数やキャッシュなどを無効にするたびに、更新フラグを他のXMLファイルまたはデータベースに保存する必要があります。

それ以外は、もう1つの論理が正しいです。できるだけweb.configに触れないように - 私は個人的にweb.configファイルに接続文字列を保存するだけです。

頻繁に変更されるキー値ペアの残りの部分は、SQLデータベースに保存されています。表。接続文字列が変更されない限り、アプリケーションを再起動する必要はありません:

+0

アプリケーション設定は、そのようなもののために作られています。 – JoshJordan

+0

が異なります。私は多くの忙しい電子商取引サイトをしています。どこにいても、買い物をしている100人のユーザーがいます。 – Raj

+0

の代わりに、1つのアプリ設定の値を変更する代わりに、私のアプリ全体をリセットして緩めてください。adminのセクションにあるフォームをサイト管理者に提供してappSettingsを更新してから、クラスを再作成/リフレッシュしてくださいアプリケーション変数 – Raj

9

私はすべてをローカルでテストしてから、プロダクションサーバーに組み込まれたapp_offline.htmlファイルを使用します。 このファイルが存在すると、クライアントに配信されます。その間に新しいコンテンツをアップロードしています。完了したら、app_offline.htmlの名前を別のものに変更し、新しいアプリケーションを開始します。

+0

+10これ以上upvoteできます。 App_OfflineはQUICKとEASYで、私はそれを愛しています!!使用していないときは、Webサーバー上のファイルをapp_offline_disabled.htmlのままにしておくこともできます。それは私が試しなければならなかった多くの面倒を私に救った。これらのガイドラインに従うだけで設定されます。 http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx –

+0

クイックメモ、app_offline.htm ....ではありません.html –

関連する問題