У меня есть веб-приложение с кодом, создающее страницу регистрации / входа и на моей странице регистрации, когда я заполняю ярлыки и нажимаю кнопку «Регистрация», я получаю это сообщение:
Произошло необработанное исключение во время обработки запроса. ArgumentException: Формат строки инициализации не соответствует спецификации, начинающейся с индекса 23.
, строка 23. является такой:
probagetrequest.Pages.SignUpModel.OnPost () в SignUp.cs html .cs
}
public IActionResult OnPost()
{
account.Password = BCrypt.Net.BCrypt.HashPassword(account.Password);
db.Accounts.Add(account);
db.SaveChanges();
return RedirectToPage("index");
}
}
Проблема в коде db.SaveChanges (); . Если я удалю из своего кода, не буду работать, не сохраняя зарегистрированного пользователя в базе данных. Мое подключение к базе данных находится в файле appsettings. json:
"ConnectionStrings": {
"DefaultConnection": "Server=DESKTOP-U7SBTFN;Database:probachat"
}
}
Вот мой файл SignUp.cs html:
@page
@model probagetrequest.Pages.SignUpModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>SignUp</title>
</head>
<body>
<h3>Sign Up</h3>
<form method="post" asp-page="signup">
<table>
<tr>
<td>Username</td>
<td>
<input aps-for="@Model.account.Username" />
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input type="password" asp-for="@Model.account.Password" />
</td>
</tr>
<tr>
<td>Full Name</td>
<td>
<input aps-for="@Model.account.FullName" />
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input type="email" aps-for="@Model.account.Email" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="Save" />
<br />
<a asp-page="index">Sign In</a>
</td>
</tr>
</table>
</form>
</body>
</html>
и здесь мой файл SignUp.cs html .cs:
using System;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using probagetrequest.Models;
namespace probagetrequest.Pages
{
public class SignUpModel : PageModel
{
[BindProperty]
public Account account { get; set; }
private DatabaseContext db;
public SignUpModel(DatabaseContext _db)
{
db = _db;
}
public void OnGet()
{
account = new Account();
}
public IActionResult OnPost()
{
account.Password = BCrypt.Net.BCrypt.HashPassword(account.Password);
db.Accounts.Add(account);
db.SaveChanges();
return RedirectToPage("index");
}
}
}
НОВОЕ ИСКЛЮЧЕНИЕ, СТАРОЕ БЫЛО РЕШЕНО
Произошло необработанное исключение при обработке запроса. Win32Exception: Nincs folyamat труба, созданная вручную. Неизвестное расположение
SqlException: соединение с сервером было успешно установлено, но затем произошла ошибка во время входа в систему. (поставщик: поставщик совместно используемой памяти, ошибка: 0 - Nincs следит за конвейером). Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity удостоверение, SqlConnectionString connectionOptions, новое имя класса SqlCredential, новое имя-слова-пароля, строка-нового-логического объекта, строка-нового слова-объекта, строка-объекта-ссылки, объект-объект-указатель объекта , SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, bool applyTransientFaultHandling, строка accessToken, пул DbConnectionPool, SqlAuthenticationProviderManager sqlAuthProviderManager)
возникла исключительная ситуация, из-за которой возникла исключительная ситуация. Рассмотрите возможность включения устойчивости к временным ошибкам, добавив метод EnableRetryOnFailure () к вызову UseSqlServer. Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute (состояние TState, операция Fun c, Fun c> verifySucceeded)
SqlException: соединение с сервером было успешно установлено, но затем произошла ошибка во время входа в систему. (поставщик: поставщик совместно используемой памяти, ошибка: 0 - Nincs следит за конвейером). Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity удостоверение, SqlConnectionString connectionOptions, новое имя класса SqlCredential, новое имя-слова-пароля, строка-нового-логического объекта, строка-нового слова-объекта, строка-объекта-ссылки, объект-объект-указатель объекта , SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, BOOL applyTransientFaultHandling, струнный, маркер доступа DbConnectionPool бассейн, SqlAuthenticationProviderManager sqlAuthProviderManager) Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection (варианты DbConnectionOptions, DbConnectionPoolKey poolKey, объект poolGroupProviderInfo, DbConnectionPool бассейн, DbConnection owningConnection, DbConnectionOptions userOptions) Microsoft.Data .ProviderBase.DbConnectionFactory.CreatePooledConnection (пул DbConnectionPool, DbConnection owningObject, параметры DbConnectionOptions, DbConnectionPoolKey poolKey, DbConnectionOptions userOptio ns) Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateReneneConnectionConnectionObid.ConnectionBacker.ConnectionBacker.ConnectionOb_Player_Ob_Player_Ob_Player_Ont_D_P_P_C_W_P_D_P_P_C_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_C_E_P_P_C_E_E_P_C_A__A_P_C_W_E_P_C_W_E_P_E_P_E_P_E_C_O_E_O_O_E DbConnection owningObject, uint waitForMultipleObjectsTimeout, bool allowCreate, bool onlyOneCheckConnection, DbConnectionOptions userOptions, из-за DbConnectionInternal-соединения) Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection (DbConnection owningConnection, TaskCompletionSource повторных попыток, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, вне связи DbConnectionInternal) Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory ConnectionFactory, TaskCompletionSource повторных попыток, DbConnectionOptions userOptions) Microsoft. Data.ProviderBase.DbConnectionClosed. RelationalConnection.OpenDbConnection (ошибки boolExpected). Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open (ошибки boolExpected) nsaction (IsolationLevel изоляцияLevel). Microsoft.EntityFrameworkCore.Storage.RelationalConnection.BeginTransaction () .ChangeTracking.Internal.StateManager.SaveChanges (IList entryToSave) * operation, Fun c> verifySucceeded)
InvalidOperationException: Возникло исключение, которое, вероятно, связано с временным сбоем. Рассмотрите возможность включения устойчивости к временным ошибкам, добавив метод EnableRetryOnFailure () к вызову UseSqlServer. Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute (состояние TState, операция Fun c, Fun c> verifySucceeded) .SaveChanges (bool acceptAllChangesOnSuccess) Microsoft.EntityFrameworkCore.DbContext.SaveChanges () probagetrequest.Pages.SignUpModel.OnPost () в SignUp.cs html .cs
}
public IActionResult OnPost()
{
account.Password = BCrypt.Net.BCrypt.HashPassword(account.Password);
db.Accounts.Add(account);
db.SaveChanges();
return RedirectToPage("index");
}
}
} * 1038 Microsoft .AspNetCore. Mvc .RazorPages.Infrastructure.ExecutorFactory + ActionResultHandlerMethod.Execute (получатель объекта, аргументы объекта []). Microsoft.AspNetCore. Mvc .RazorPages.Infrastructure.PageActionInvoker. 1055 * .RazorPages.Infrastructure.PageActionInvoker.InvokeNextPageFilterAsyn c () Microsoft.AspNetCore. Mvc .RazorPages.Infrastructure.PageActionInvoker.Rethrow (контекст PageHandlerExecutedContext) Microsoft.Az58. rPages.Infrastructure.PageActionInvoker.Next (ref State next, ref Область видимости, ref ref состояние объекта, ref bool isCompleted) Microsoft.AspNetCore. Mvc .RazorPages.Infrastructure.PageActionInvoker.InvokeInnerFilterAsyn c () Microsoft .AspNet. · 1063 * .Infrastructure.ResourceInvoker.Next (ref Состояние следующее, ref Область действия, состояние объекта ref, ref bool isCompleted) Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.InvokeFilterPipelineAsyn c () Microsoft.AspNetCore. Mvc .Infrastructure.ResourceInvoker.g__Logged | 17_1 (ResourceInvoker invoker) Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke (HttpContext httpContext) Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke 40 *