問題タブ [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.

0 投票する
1 に答える
107 参照

asp.net - VirtualPathProvider でクエリ文字列を取得する方法

私は VirtualPathProvider を使用していますが、関数内に

virtualPath は、クエリ文字列なしで URL のみを提供します。私の質問は、クエリ文字列を取得する方法です。

0 投票する
1 に答える
659 参照

.net - mvc5 マルチテナンシーとカスタム ビュー

テナントが独自のサブドメインを取得できるマルチテナント アプリを作成しようとしています。

  • tenant1.mysite.com
  • tenant2.mysite.com

カスタムroutedataを使用してみましたが、最初のページでのみ機能し、/login、/register などの他のページでは常にエラーがスローされ、非常に不可解になります。

あきらめて、ワイルドカード DNS の使用を続行し、サブドメインに基づいてビューをレンダリングする方法を HomeController に決定させました。

アクションフィルター

ホームコントローラー

VirtualPathProvider を使用してサブドメインに基づいてデータベースからビューを読み込もうとすると問題が発生しますが、おそらくライフサイクルが原因で HttpContext にアクセスできませんか? RazorEngineを使用して(データベースから) カスタム ビューを読み込もうとしました。

最初にデータベースでカスタム ビューを検索し、データベース内のビューを使用してレンダリングする Web アプリでマルチテナンシーをサポートするにはどうすればよいですか?

0 投票する
1 に答える
106 参照

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 を使用しないでください'」という警告があるため、これは進むべき道ではありません。

私は何を間違えましたか?お知らせ下さい。

0 投票する
0 に答える
202 参照

c# - ASP.NET VirtualPathProvider.DirectoryExists() は正しい場合もあれば、間違っている場合もあります

私の Web アプリでは、次の呼び出しはアプリケーションの起動時に true を返し、後で何らかの理由で false を返します。

フォルダーが存在し、同時に次のコードは常に正しく true を返します。

VirtualPathProvider の動作を変更するために何が影響するのかわかりません。VirtualPathProvider はアプリケーションの起動時にカスタム実装でオーバーライドされますが、それは DirectoryExists() をオーバーライドせず、実際に常に呼び出されるメソッドはSystem.Web.Hosting.MapPathBasedVirtualPathProvider.

Process Monitorで確認したところ、発生するファイルシステム操作は正しい結果と間違った結果で同じです。

何が壊れる可能性があるか考えている人はいますかDirectoryExists()(ところで、同じことが起こりFileExists()ます)?

0 投票する
1 に答える
1364 参照

asp.net - クエリ パラメータを使用すると SiteMap.CurrentNode が null を返す

カスタム ASP.NET サイトマップ プロバイダーを作成しましたが、うまく動作しますが、仮想パスにクエリ パラメーターを追加するとSiteMap.CurrentNodenullページが見つかりません。すべてのコードにブレークポイントを配置しましたが、クエリ パラメーターを使用して仮想パス プロバイダーに入力することは一度もありません。ここで何が欠けていますか?

0 投票する
1 に答える
398 参照

asp.net - VirtualPathProvider キャッシュの操作

VirtualPathProvider に依存する cms システムを構築しています。このキャッシュを解放できるキャッシュされたページを表示する必要があります。キャッシュが構築されるコードは次のとおりです。このキャッシュにアクセスするにはどうすればよいですか? キャッシュされたページのリストを表示するには

0 投票する
1 に答える
363 参照

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\)

0 投票する
1 に答える
438 参照

c# - カスタム VirtualPathProvider で GetCacheDependency が呼び出されない

Azure Blob Storage から画像をプルできるVirtualPathProviderのカスタム実装を作成しました。プロバイダーはその役割GetFileを果たしますが、すべての要求を呼び出すため、パフォーマンスが向上しません。

GetFile

ブロブの最終更新日を知っているので、キャッシュを少し追加することをお勧めしますが、何も機能していないようです。

GetCacheDependencyそれを読んで、メソッドをオーバーライドする必要があるGetFileHashようで、次のようにしました。

GetCacheDependency

GetFileHash

カスタムCacheDependency実装もあります。

残念ながら、画像を要求するときに他のメソッドが呼び出されることはありません。何が欠けているのかわからない。何か案は?