ホームページ >バックエンド開発 >C#.Net チュートリアル >2 つの ASP.NET Web サイトを公開するときに発生した問題と解決策を共有する

2 つの ASP.NET Web サイトを公開するときに発生した問題と解決策を共有する

Y2J
Y2Jオリジナル
2017-04-28 10:27:572128ブラウズ

ASP.NET Web サイトを公開するときの落とし穴に注意してください。Web サイトを公開した後に最初に開いたときにすべてのページが停止するのはなぜですか? ASP.NET セッションが頻繁に失われる問題を解決するにはどうすればよいですか?一定の参考値がありますので、興味のある方は参考にしてください

開発ツール: VS2010、MVC4.0、SQLSERVER2008

サーバー: Windows Server 2012、IIS8、SQLSERVER2012

1. リリース後の各ページ 最初の開き方は非常に遅く、50 秒以上かかり、2 番目のオープニングは非常に高速です

推定理由: コンパイル速度は遅いですが、VS 環境のあるマシンで公開する場合はそれほどスタックしません

解決策:

より高い速度を使用してくださいVS のバージョン、「リリース中にプリコンパイル」; IIS8 のアプリケーション初期化機能を使用します 1. VS2017 の「リリース中にプリコンパイル」を使用します

公開時にエラーが発生しました:

アプリケーション レベルの外で、allowDefinition='MachineToApplication' で登録されたセクションを使用します。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されていない場合に発生する可能性があります。

解決策: 公開時に web.config に次のコードをコメントします


<!--<authentication mode="Forms">
 <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>-->

2. IIS8 のアプリケーション初期化機能を使用します

ASP.NET Web サイトへの初回アクセスが遅い場合の解決策

2. ASP.NET セッションが頻繁に失われる

症状: ログイン後約 30 秒後にセッションが失われ、再度ログインする必要があります。

解決策: ASP.NET にはいくつかのセッション状態モードがあります。デフォルトは「InProc モード」です。これを「StateServer モード」に変更すると、問題は解決されます。

1. オフモード

は、セッションを閉じることを意味します。

サイト全体のセッションを閉じるには、Web.Config ファイルの 2dc15ec6bc814c3aa45b55d017848bed セクションに次のように記述します:

2455e49983024f8ccf8b732f0adf21a6

特定のページでは、ページに追加できます:


2. InProc モード (デフォルト モード)

SessionState モードが設定されていない場合Web.config ファイル。デフォルトは InProc モードです。

InProc モードのパラメータをカスタマイズしたい場合は、Web.config ファイルを作成する必要があります。例:

bafb43bc60019ebfcea9f3a906a46162

Cookie なしの設定が許可されているかどうか Cookie が使用されていない場合、timeout はタイムアウトを分単位で設定します。

InProc モードは ASP.NET プロセスに依存し、IIS プロセスがクラッシュするか再起動されると、プロセスに保存されているセッション状態が失われます。

3. StateServer モード

StateServer モードは、セッション データを別のメモリ バッファーに保存し、このバッファーは Windows サービス「ASP.NET State Service」によって制御されます (Windows サービスで有効にする必要があります)。エリアでは、stateConnectionString を設定する必要があります:

6ac8e38211c4be5c175182db2a3e3dce

StateServer モードを使用する場合、必要なすべてのデータセッションに保存するクラスには、シリアル化可能な機能を追加する必要があります:

[Serializable]
public class SomeClass { }

StateServer モードの利点は、IIS プロセスから独立しており、IIS アプリケーションを再起動できることです。セッションデータには影響しません。

4. SQLServer モード

SQL Server を使用してセッションを保存します。IIS が再起動されても、セッションは失われません。最初に ASPState データベースを作成する必要があります。具体的な方法はオンラインで見つけることができます。

以上がこの記事の全内容です。皆様の学習に役立てていただければ幸いです。

以上が2 つの ASP.NET Web サイトを公開するときに発生した問題と解決策を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。