私の場合は、WCF を使用して sqlserver データベースからデータテーブルを返します。高頻度での wcf メソッドの使用。そのため、データベースにより多くのストレスがかかります。httpキャッシュのようにwcfでキャッシュを使用して、有効期限を設定できますか。有効期限内に、キャッシュされたデータテーブルを返し、有効期限外に、sqlserver からデータを再度選択します。thx、私はstackoverflowを使用するのは初めてで、中国出身です。英語が下手で申し訳ありません。ps: 私の wcf ケースでは、ホストとして iis ではなく winform/console を使用します。
4073 次
2 に答える
4
.NET 4.0 以降を使用している場合は、MemoryCacheクラスを使用できます。例えば:
ObjectCache cache = MemoryCache.Default;
DataSet
次のような行でキャッシュに保存できます。
cache["MyDataSet"] = myDataSet; // myDataSet is your DataSet
次に、次のロジックを使用して を取得できますDataSet
。
if (cache["MyDataSet"] != null)
{
// Get your DataSet from the database
}
else
{
myDataSet = (DataSet)cache["MyDataSet"];
}
また、キャッシュ内の特定のアイテムの削除と有効期限のポリシーを設定できるようにするCacheItemPolicyを見てください。
于 2013-05-24T05:14:35.243 に答える
0
このようなものはあなたのニーズを満たしますか? これは疑似コードですが、要点を理解していると思います。
static DataTable dt;
static DateTime LastPulled;
public static void GetData()
{
if(LastPulled==null || DateTime.Now-LastPulled > new TimeSpan(5))
{
//Retrieve DataTable from database
}
return dt;
}
于 2013-05-24T04:06:56.717 に答える