Итак, я пытался опубликовать sh мой первый проект на azure. У меня есть все настройки, сервисное приложение и база данных sql.
Моя начальная страница загружается правильно (это стандартное представление для основного веб-приложения. net).
Первое, что мне нужно сделать, это зарегистрировать нового пользователя. Всякий раз, когда я пытаюсь выполнить приложение azure (myapp.azurewebsites. net), оно выходит из строя, и в журналах указывается, что оно связано с БД.
Однако я пытаюсь сделать то же самое, запустив приложение на своем компьютере в производственной среде. , снова подключен к azure sql серверу и все работает отлично. Я могу регистрировать пользователей, я могу создавать сообщения, я могу редактировать их. Опция allow access to azure services
включена. Эта ошибка из журналов событий. Я не включил трассировку стека.
Category: Microsoft.EntityFrameworkCore.Query EventId: 10100 RequestId: 800001be-0000-ba00-b63f-
84710c7967bb RequestPath: /Identity/Account/Register SpanId: |1e5a93ae-43f424904f38ea9f. TraceId:
1e5a93ae-43f424904f38ea9f ParentId: ActionId: c3430236-e61c-4785-a3c3-4f60ba115b6e ActionName:
/Account/Register An exception occurred while iterating over the results of a query for context type
'MyApp.Data.ApplicationDbContext'. Microsoft.Data.SqlClient.SqlException (0x80131904): Server
name cannot be determined. It must appear as the first segment of the server's dns name
(servername.database.windows.net). Some libraries do not send the server name, in which case the
server name must be included as part of the user name (username@servername). In addition, if both
formats are used, the server names must match.
Это разные способы, которыми я пытался добавить строку подключения в файл appsettings. json. (Имя сервера, каталог, пользователь и пароль были заменены, они правильно записаны в файле настроек приложения)
Server=tcp:servername.database.windows.net,1433;Initial Catalog=db;Persist Security Info=False;
User ID=user@server;Password=mypassword;
MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Server=tcp:servername.database.windows.net,1433;Initial Catalog=db;Persist Security Info=False;
User ID=user;Password=mypassword;
MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Data Source=tcp:server.database.windows.net,1433;
Initial Catalog=db;User Id=@server.database.windows.net;Password=password;