我有一个控制台应用程序,它需要动态加载我的 API 应用程序中的所有端点并获取缓存数据的详细信息。
foreach (var routeTemplate in listRouteTempplates)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/appName/" + routeTemplate );
WebResponse response = null;
Stream dataStream = null;
request.Method = HttpMethod.Get.ToString();
response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
var count=HttpRuntime.Cache.Count;
}
调用每个端点时,检索到的数据也会被缓存。我通过直接(通过邮递员)调用端点并检查缓存来确认这一点。
但是在控制台应用程序中,即使响应确实包含正确的数据,HttpRuntime.Cache 中的项目计数始终为零。
当我在控制台应用程序中调用端点时,数据没有被缓存是否有原因?
谢谢