私が作成しているWCFRIAアプリケーションの一部として、静的なサポートデータの束をローカルにキャッシュしたいと思います(水道システム、国、州などのリスト)。単純な静的クラスを作成しました。リストを(LocalStateContainer.cs)にキャッシュします。
例:
public static class LocalStateContainer
{
private static IEnumerable _waterSystems;
public static IEnumerable WaterSystems
{
get
{
if (_waterSystems== null)
{
DomainDataSource ds = new DomainDataSource();
Web.SuperDomainContext d = new Web.SuperDomainContext();
ds.DomainContext = d;
ds.QueryName = "GetWaterSystems";
ds.Load();
_waterSystems = ds.Data;
}
return _waterSystems;
}
}
}
このようにDomainDataSourceを使用するのは賢明ですか?私は簡単に行くことができませんでした:
public static class LocalStateContainer
{
private static IEnumerable _waterSystems;
public static IEnumerable WaterSystems
{
get
{
if (_waterSystems== null)
{
Web.SuperDomainContext d = new Web.SuperDomainContext();
_waterSystems = from w in d.WaterSystems select w;
}
return _waterSystems;
}
}
}
より広義には、DomainContextに直接アクセスするのではなく、DomainDataSourceを使用してデータを取得するのが賢明なのはいつですか。DomainDataSourceを双方向にリンクするのが道のりだと思いますが、静的データをDomainContextから直接ヤンクするのは有害/愚かですか?
どんな洞察もありがたいです。私はまだSilverlightを初めて使用するので、これがミッキーマウスのものである場合はお詫びします。
ありがとう!