問題タブ [virtualpathprovider]
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.
asp.net - VirtualPathProvider でクエリ文字列を取得する方法
私は VirtualPathProvider を使用していますが、関数内に
virtualPath は、クエリ文字列なしで URL のみを提供します。私の質問は、クエリ文字列を取得する方法です。
.net - mvc5 マルチテナンシーとカスタム ビュー
テナントが独自のサブドメインを取得できるマルチテナント アプリを作成しようとしています。
- tenant1.mysite.com
- tenant2.mysite.com
カスタムroutedataを使用してみましたが、最初のページでのみ機能し、/login、/register などの他のページでは常にエラーがスローされ、非常に不可解になります。
あきらめて、ワイルドカード DNS の使用を続行し、サブドメインに基づいてビューをレンダリングする方法を HomeController に決定させました。
アクションフィルター
ホームコントローラー
VirtualPathProvider を使用してサブドメインに基づいてデータベースからビューを読み込もうとすると問題が発生しますが、おそらくライフサイクルが原因で HttpContext にアクセスできませんか? RazorEngineを使用して(データベースから) カスタム ビューを読み込もうとしました。
最初にデータベースでカスタム ビューを検索し、データベース内のビューを使用してレンダリングする Web アプリでマルチテナンシーをサポートするにはどうすればよいですか?
asp.net-mvc-4 - Ninject を使用したカスタム VirtualPathProvider
ASP.Net MVC4 プロジェクトでカスタム仮想プロバイダーを使用しています。プロバイダーを MyVirtualPathProvider と呼びましょう。プロバイダーは、次のように OnApplicationStarted メソッドに登録されます。
メソッドは Global.asax.cs の一部です。その上に、次のものがあります。
ここで、[Inject] 属性を使用して、次のようにサービスの 1 つを挿入したいと思います。
カスタム仮想パス プロバイダーで、注入された Logger を使用して何かをログに記録したい GetFile メソッドをオーバーライドしました。
残念ながら、Logger は null であるため、機能しません。
次のように、ロガーをカスタム仮想パスプロバイダーコンストラクターのパラメーターとして渡そうとしました。
残念ながら、「警告 CS0618: 'Ninject.Web.Common.NinjectHttpApplication.Kernel' は廃止されました: 'サービス ロケータとして Ninject を使用しないでください'」という警告があるため、これは進むべき道ではありません。
私は何を間違えましたか?お知らせ下さい。
c# - ASP.NET VirtualPathProvider.DirectoryExists() は正しい場合もあれば、間違っている場合もあります
私の Web アプリでは、次の呼び出しはアプリケーションの起動時に true を返し、後で何らかの理由で false を返します。
フォルダーが存在し、同時に次のコードは常に正しく true を返します。
VirtualPathProvider の動作を変更するために何が影響するのかわかりません。VirtualPathProvider はアプリケーションの起動時にカスタム実装でオーバーライドされますが、それは DirectoryExists() をオーバーライドせず、実際に常に呼び出されるメソッドはSystem.Web.Hosting.MapPathBasedVirtualPathProvider
.
Process Monitorで確認したところ、発生するファイルシステム操作は正しい結果と間違った結果で同じです。
何が壊れる可能性があるか考えている人はいますかDirectoryExists()
(ところで、同じことが起こりFileExists()
ます)?
asp.net - クエリ パラメータを使用すると SiteMap.CurrentNode が null を返す
カスタム ASP.NET サイトマップ プロバイダーを作成しましたが、うまく動作しますが、仮想パスにクエリ パラメーターを追加するとSiteMap.CurrentNode
、null
ページが見つかりません。すべてのコードにブレークポイントを配置しましたが、クエリ パラメーターを使用して仮想パス プロバイダーに入力することは一度もありません。ここで何が欠けていますか?
asp.net - VirtualPathProvider キャッシュの操作
VirtualPathProvider に依存する cms システムを構築しています。このキャッシュを解放できるキャッシュされたページを表示する必要があります。キャッシュが構築されるコードは次のとおりです。このキャッシュにアクセスするにはどうすればよいですか? キャッシュされたページのリストを表示するには
file - Episever MapRequestHandler が間違った物理パスを返す
Episerver 7.1 の UnifiedDirectory を使用してファイルをアップロードしています。episerver VPP ファイル エクスプローラー内で参照すると、ファイルは完全に保存されます。たとえば、パスは次のようになります。
ファイルを右クリックして編集を選択すると、ファイルを表示して編集できるので、これが機能します。
しかし、vpp フォルダーのファイルを「editmode」で開くと、404 が表示されます。
そして、それは取得しようとします:
次のようなものにする必要があります (VPP フォルダーにネットワークの basePath を使用します)。
注: EPiServer が上記の方法でファイルを取得しようとすると、ほとんどの場合うまくいきます。
EPiServerFramework.config:
ドキュメント フォルダーの場合、これを使用します (appDataPath は\\172.40.1.163\vpp\Epi7_new\
)
c# - カスタム VirtualPathProvider で GetCacheDependency が呼び出されない
Azure Blob Storage から画像をプルできるVirtualPathProviderのカスタム実装を作成しました。プロバイダーはその役割GetFile
を果たしますが、すべての要求を呼び出すため、パフォーマンスが向上しません。
GetFile
ブロブの最終更新日を知っているので、キャッシュを少し追加することをお勧めしますが、何も機能していないようです。
GetCacheDependency
それを読んで、メソッドをオーバーライドする必要があるGetFileHash
ようで、次のようにしました。
GetCacheDependency
GetFileHash
カスタムCacheDependency
実装もあります。
残念ながら、画像を要求するときに他のメソッドが呼び出されることはありません。何が欠けているのかわからない。何か案は?