Создал модель (Code fluent):
public PersonConfig()
{
HasKey(id => id.PersonID);
Property(name => name.Name).IsRequired().HasMaxLength(50);
}
public class Person
{
public int PersonID { get; set; }
public string Name { get; set; }
}
class CodeContext: DbContext
{
public CodeContext(string connectionString) : base( connectionString)
{
}
public DbSet<Person> Person{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new PersonConfig());
base.OnModelCreating(modelBuilder);
}
}
После, во viewmodel отправляю строку, делаю инициализацию:
try
{
using (var cnxt = new CodeContext(connectionString))
{
cnxt.Database.Initialize(true);
}
}
catch (Exception ex)
{
MessageBox.Show("Произошла ошибка с сервером");
}
Проблема такая: если обращаюсь на сервер, который есть, то все отлично, после с ним работаю (если бд нет, создает, если есть, то использует ее). Но если строка сервера неверна, то загрузка идет около 01:07 минут, и только после перемещается в catch(exception ex). Как время обращения к серверу уменьшить?? Или как проверить, корректно ли сервер ввели. Со временем я пытался в CodeContext писать, чтобы 30 секунд, но не работает.:
this.Database.CommandTimeout = 30;
Как решить эту проблему? Мб я неверно делаю инициализацию, хотя по-другому не получается, да и если строка сервера верна, то обращение идет без проблем (но обращение к корректному серверу, изначально, около 8 секунд, что, как кажется, будет много, ведь обращаюсь к себе)?
Вы используете таймаут команды, который определяет таймаут выполнения запроса (который будет справедлив после установления соединения с БД). В вашем случае, вам нужен таймаут подключения, который говорит о времени ожидании подключения к базе данных, а точнее, через какое время это ожидание будет прервано и будет сгенерирована ошибка.
The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error.
можете указать его прямо в строке подключения к базе данных
Connection Timeout=60;
Но, это так, если я обращаюсь к несуществующему серверу, если сервер есть (я пробовал обратиться к себе от прав не администратора, к администратору, к чему доступа как раз нет), и время обращения было 6 секунд! Каков алгоритм времени? Как он выбирает, как и быть теперь?
Параметр Connection Timeout
определяет как долго служба SQL будет отвечать на попытку соединения. Другими словами, эту попытку сперва нужно предпринять, достучавшись до сервера SQL. Этот параметр не регулирует время сетевых задержек, проблем с DNS или другие проблемы.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть ли способ изменить значение внутри строки не переводя её в массив символов? Например "Машинная сила" в "Машинная пила"
Имеется программа которая шифрует пароли с помощью AESЭтот алгоритм шифрования использует массивы байт
В проекте нужно из JSON-строки получить экземпляр некоторого класса, используя библиотеку LiteDBJSON:
Нашел на GitHub'e пример с использованием Emgu на C# (RedballTracker)Решил испытать этот пример, изучив код (учусь работать с Emgu)