2017-03-28 15 views
0

私たちは、自分のサーバーにインストールされた多くの顧客が使用するASP.Netアプリケーションを持っています。彼らはそれぞれのデータベースとURLのバインディングなどを持っているそれぞれの最後にインストールされているので、私はzipファイルを取得し、c:\ inetpubの場所に最新のアプリケーションの変更を追加するために抽出する前に、コンソールアプリケーションを作成した。このコンソールアプリケーションは、スケジュールされたタスクに追加され、自動アップデートを作成します。コンソールアプリケーションからIIS Webサイトを自動再起動

明らかに、誰かが初めてこのサイトにアクセスすると、サイトが再構築されてからもう少し長く待たなければなりません。私はProcess.Start(urlofapp)を含むようにコンソールアプリケーションを変更し、翌朝、最初のユーザーが再構築を待つ必要がないように、更新の一部としてこれを行うことを願っています。

私は自分自身を実行しても問題はありませんが、まだリリースされていないことをテストしました。このURLプロセスは開いたままにしておきます。私はこれが起こらないようにするか、コンソールアプリケーションの一部として手動でサイトを再構築する方法について私に何か考えを与えることができるので、これが当てはまるかどうかについて誰かに教えてもらえますか?

+2

Process.Start()を単純なWebRequestに置き換えてみませんか? – Filburt

+3

なぜProcess.Startを使用するのですか?実際にブラウザを起動せずに、WebサイトにプログラムでHTTPリクエストを行う方法はたくさんあります。 – mason

+0

良い点、私は明らかに単純なURLの前にブラウザを考えていた。まず試してみる。 – user1166905

答えて

0

IISには、しばらくの間、自動起動アプリ機能がありました。それを有効にするだけです。 the Guthe IIS siteから詳細を見つけることができます。

+0

外部リンクに頼るのではなく、回答に関連する指示を含める必要があります。 – mason

+0

私はあなたがアプリケーションの初期化を意味すると思います。私はこれを試して、それがIIS8 +に含まれている間、IIS7.5はそれを持っていないし、多くのサーバに拡張機能をインストールすることに問題があった。 – user1166905

-2

代わりに、バックグラウンドでサーバー上のすべてを読み込む開始ページを使用することをお勧めします。たとえば、MVCコントローラから呼び出される非同期メソッドでこのロジックを実行すると、メインページが終了している間にこのロジックが実行される可能性があります。あるいは、スレッドされたタスクを使用し、セットアップが行われている間だけ返される開始ページを表示します。

+1

これはIISの仕組みではない。 MVCコントローラは、更新されたDLLの一部になるでしょう - IISが検出したものと全く同じDLLが変更されているため、スタートページの前にJITを実行するだけです。コントローラは – MickyD

+0

です。要求をロックする。 –

+0

元のasp.netアプリケーションでこれを行うことをお勧めしますか? – user1166905

関連する問題