Мое консольное приложение будет проходить через каждого пользователя, чтобы получить свои веб-сайты, чтобы оно могло делать новые скриншоты из них.Однако, чтобы предотвратить создание скриншота одного и того же веб-сайта дважды, я должен проверить, не был ли уже сделан снимок экрана с веб-сайтом других пользователей.
Мое текущее решение:
База данных:
User
|--> ID: 1
|--> FirstName: Joe
|--> ID: 2
|--> FirstName: Stranger
Websites
|--> ID: 1
|--> UserID: 1
|--> URL: http://site.com
|--> ID: 2
|--> UserID: 2
|--> URL: http://site.com
Консольное приложение:
static void RenewWebsiteThumbNails()
{
Console.WriteLine("Starting renewal process...");
using (_repository)
{
var websitesUpdated = new List<string>();
foreach (var user in _repository.GetAll())
{
foreach (var website in user.Websites.Where(website => !websitesUpdated.Contains(website.URL)))
{
_repository.TakeScreenDumpAndSave(website.URL);
websitesUpdated.Add(website.URL);
Console.WriteLine(new string('-', 50));
Console.WriteLine("{0} has successfully been renewed", website.URL);
}
}
}
}
Однако объявлять список для такого сценария кажется неправильным, просто чтобы проверить, был ли уже добавлен определенный URL-адрес.какие-нибудь предложения по альтернативному пути?