NHibernate を使用して ASP.NET (2.0、いいえ、変更できません) サイトを構築しており、カスタム JSON コンバーターを使用しているため、クライアントから隠したいプロパティをシリアル化できません。これにより、オブジェクトを返すだけで、シリアル化された値について心配する必要がなくなります。オブジェクトは常に安全です。
残念ながら、 を使用するquery.FutureValue<class>()
と、シリアル化されるオブジェクトは最初NHibernate.Impl.FutureValue<class>
にエンティティであり、エンティティではないように見えます。つまり、辞書にスローしてクライアントに返すと、次のような JSON が得られます。
{key: { Value: { /* my serialized object properties */ } }
以前に、ASP の JavaScriptConverter 実装で動作するインターフェイスを取得できないことを発見しました...通常のクラスまたは抽象クラスのみです。したがって、サポートされている型として返さtypeof(IFutureValue<MyBaseClass>)
れるということは、私のコンバーターが完全に無視されることを意味します。以前にインターフェースではなく抽象ベースを使用するようにリファクタリングしたため、MyBaseClass をキャッチできます。
そして、.Impl の FutureValue の実装がアセンブリの内部にあること、または .NET の経験をさらに苦痛にするだけの他のナンセンスであることを発見しました。typeof(FutureValue<MyBaseClass>)
FutureValue は私のデバッグ セッションにのみ存在するため、すべてを処理するために使用することはできません。
アセンブリからクラス型を取得する方法はありますか? または、インターフェイスに実際に用途があることを ASP に納得させる方法はありますか? それとも、問題全体を回避できるようにアクセスできるスーパークラスがあるのでしょうか?
ヘルプ!Futures が気に入っています。一度に大量のコールをバッチ処理できます。
(不明な点がある場合、またはさらにコードが必要な場合は、ぜひお問い合わせください。かなりの量を投稿できます。)