問題タブ [asp.net-bundling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - バンドル内のファイルを列挙しようとすると「コレクションが変更されました」エラー
MVC ページで、複数のユーザーがサイトにいる場合にのみ発生するトリッキーなエラーが発生します。
私が得るエラーは
コレクションが変更されました。列挙操作が実行されない場合があります。
このエラーは、javascript ファイル Bundle をレンダリングしようとする行で発生します。
/app_start -> BundleConfig.cs -> RegisterBundles の関連するコードはかなり標準的です。
一度に複数のユーザーがサイトにいる場合にのみ、エラーが発生するようです。複数のブラウザで複数のタブを作成し、できるだけ早くそれらをヒットすることで、ローカルで問題を再現することができました。
私は検索しましたが、同様のエラーを抱えている人を見つけることができませんでした。このエラーは、コレクションがループ中に変更されていることを意味します。コレクションが列挙されているときに、バンドルに追加されるファイルのコレクションがどのように変化するかわかりません。
スタック トレースは次のとおりです。
エラーが発生した時点で、サーバーは特に過負荷ではありませんでした。エラーが生成されている間、CPU とメモリを通常のレベルで表示するサーバー上の監視ソフトウェアがあります。
これを引き起こしている可能性のあるアイデアはありますか?
更新: さらに検索した結果、コントローラーでバンドルがプログラムによって更新されていることがわかりました。
これはプログラムで追加する必要がないことが判明したため、BundleConfig ファイルに含めました。サイトは現在動作しているようです。
css - バンドルasp.net Mvc 5 cssが失敗しました
私のCSSには
バンドルの縮小に失敗します。なんで?
.net - Azure CDN、.Net バンドル、およびバージョン文字列
すぐに使用できる.Netバンドルはバージョン文字列を計算します。私の推測は、バンドル内のファイルのハッシュからのものです。したがって、ファイルが変更されると、バージョン文字列が変更され、キャッシュが無効になります。
バンドリングと Azure CDN を利用しようとしていますが、バンドリングで CDN を有効にすると、バージョン文字列が壊れてしまうようです。
Microsoft のチュートリアルでは、アセンブリ バージョンを使用してこれを自動インクリメントすることを提案していますが、バンドル内のファイルが変更された場合にのみバージョン文字列が変更されるため、これを行うことはお勧めしません。
.Net バンドル + CDN + OTB バージョン文字列の使い方を知っている人はいますか?
Azure Web App で動作するように CDN をセットアップする方法に関するドキュメント - https://azure.microsoft.com/en-us/documentation/articles/cdn-websites-with-cdn/
javascript - asp.netにjsファイルをバンドルするには?
多くの js ファイルを含む角度のあるアプリケーションがあります。これらのファイルをすべてバンドルするにはどうすればよいですか。
web で目にするすべての場所で、 BundleConfig を使用して js ファイルをバンドルすることを提案していますが、 asp.net で空の Web アプリケーション テンプレートを使用しています。
競合が発生せず、絶対パスと相対パスの選択に問題がないように、jsファイルを順番にバンドルする方法
c# - C# MVC - 最適化が true に設定されているとスタイルがレンダリングされない
Config.cs に次のコードがあります。
スタイルが正しくレンダリングされず、ページが奇妙に見えます。しかし、config.cs でBundleTable.EnableOptimizations = falseを設定すると、すべて正常に動作します。なぜこれが起こっているのか、誰にも手がかりがありますか。
注: Web.config には Debug= "true" がなく、プロジェクトに "~/bundles/jquery"、"~/bundles/bootstrap" ... フォルダーがないため、仮想パスの競合はありません。
iis - Web API 構成はデバッグでは機能しますが、iis では機能しません
私は Web API プロジェクトを作成しており、iis を使用しています。プロジェクトを作成した後、それにバンドルを追加する必要がありました。Visual Studio によって作成された既定の MVC プロジェクトの system.web.optimization ファイルと webgreas DLL を使用しました。必要なバージョンの webgreas DLL でエラーが発生したため、次の構成を web.config ファイルに追加する必要があり、デバッグ時にすべて正常に機能しました。
作成した構成を iis に公開した後、デプロイされたサーバーの実行が許可されず、任意のパスに移動しようとするとエラーがポップアップ表示されます: ディレクトリが存在しません パラメータ名: ディレクトリ仮想パス
私の質問は、iisでランタイムタグを使用できるかどうか、およびこれを修正してDLLを正しくインポートする方法です。(できればnugetを使用しないでください)