維持するレガシー コードがあり、特定の顧客のカスタマイズの問題を解決するために、一部のファイルへの呼び出しを他のファイルにルーティングしたいと考えています。つまり、アプリが特定の ASPX を呼び出すと、最終的に別の ASPX にヒットします。
あなたが呼び出す場合:
www.foo.com/admin/admin.aspx
実際にヒットします:
www.foo.com/customizations/customer1/admin/admin.aspx
これは良い設計ではありませんが、これはレガシー コードです。これを解決したいだけです。
私たちはSystem.Web.Routing
それを解決するためにフレームワークを使用しています。これはRouteExistingFiles
、静的ファイル (CSS、JavaScript、および画像) を除いて、true に設定すると正常に機能します。最初に試したとき、次のエラーが表示されました。
拡張子 '.css' のビルド プロバイダー レジスタはありません。
.css
そのため、拡張機能の web.config ファイルにビルド プロバイダーを登録しました。私はこのビルド プロバイダーを使用PageBuilderProvider
しました。インターネットで誰かが推奨したからです。
できます!しかし、CSS はtext\html
コンテンツ タイプで提供されています。
どうすればこれを達成できますか?
TL;DR: ASP.NET Web フォームでルートを使用して特定の CSS ファイルを呼び出し、実際に別の CSS ファイルを取得したいと考えています。顧客は、カスタマイズのためにこれを必要とします。