2012-04-11 9 views
4

Webアプリケーションプロジェクト(described here)でcodebehind = somefile.aspx.csの代わりにcodefile = somefile.aspx.csを使用する方法についてだけ読んでください。明らかに、これは、ページをロードするときにのみファイルをコンパイルしますが、それはもはやプリコンパイルされません(右?)。Webアプリケーションプロジェクトでコードファイルを使用する

Webアプリケーションプロジェクトでコードビハインドの代わりにコードファイルを使用することで、否定的または予期しない副作用はありますか?

+0

本番用に動的にコンパイルするべきではありません。リンクされた記事で説明したように、開発サイクルを少し速くします。 – mellamokb

+2

それ以外のパフォーマンスでは、本番環境で動的にコンパイルしないでください。例えば。ウェブサイトプロジェクトの場合は問題ありません。 –

答えて

3

あなたのサイトがすべてではない場合は、サポート性の問題に遭遇する可能性があります。 (CodeFileまたはCodeBehind)

ieプロダクションサイトで特定のファイルまたは名前空間内にエラー処理があることを示す問題を見つけようとしている場合、すべてのファイルを調べて制御する必要がありますページがコンパイルされたアセンブリの一部として実行されているか、サイトのコードビハインドから実行されているかどうかを確認する前に、トラブルシューティングを行う前にサポートしていることを確認してください。

混在環境を使用しようとすると、矛盾したり不足しているネームスペースに遭遇する可能性があります。

賛否私はCodeFileのためにそれを見るように:

  • 本番のソースコードは、本番のウェブサイト上に座ることができます。コードがすべてbinディレクトリのDLLにコンパイルされている場合は、開発環境やソース管理上のコードがどこにあるかを絶対に保証するものではありません。 (確かにそうすべきですが、すべてが常にそうであれば、多くの人が他の人のコードを修正する雇用を持っていません!)
  • アップデートに関しては、アセンブリ全体ではなく、単一のファイルをプッシュする必要があります。
  • 再コンパイルして本番環境に公開する前に、取り消す必要がない他のページでも、開発が進行中である可能性があります。

短所:

  • コンパイル済みのアセンブリを押し出すていないので、あなたは個々のファイル内のエラーを有していてもよく、誰かがそれぞれの特定のページを訪問するか、あなたがしている場合しない限り、必ずしもキャッチされることはありません展開する前に必ずコンパイルしてください。
  • コードファイルにネームスペースが矛盾していることがあります。このネームスペースは、決して捕まえられず、混乱やエラーを引き起こす可能性があります。
  • 動的コンパイルのパフォーマンスの問題
関連する問題