import time
attemps = 600
wait_sec = 5
fname = "YOUR_PATH"
with open(fname, "r") as f:
where = f.tell()
for i in range(attemps):
line = f.readline()
if not line:
time.sleep(wait_sec)
f.seek(where)
else:
print line, # already has newline
Если я понимаю ваш вопрос, возможно, вы хотите знать, как вручную проверить модель.
Вы можете использовать вызов TryValidateModel(modelInstance);
для ручной проверки требуемой модели.
Для других условий, которые вы упомянули в вопросе, вы можете добавить операторы if.
например. Если все строковые свойства userProfileModelObject равны NULL, тогда проверьте accountModelInstance
bool isSecondObjectValid = userProfileModelObject.GetType().GetProperties()
.Where(pi => pi.PropertyType == typeof(string))
.Select(pi => (string)pi.GetValue(myObject))
.Any(value => string.IsNullOrEmpty(value));
bool validationResult = false;
validationResult = !isSecondObjectValid ?
TryValidateModel(accountModelInstance) :
TryValidateModel(userProfileModelObject);
. Надеюсь, это поможет.
Ссылки: