Формат строки инициализации не соответствует спецификации, начиная с индекса 23 - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть веб-приложение с кодом, создающее страницу регистрации / входа и на моей странице регистрации, когда я заполняю ярлыки и нажимаю кнопку «Регистрация», я получаю это сообщение:

Произошло необработанное исключение во время обработки запроса. 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>&nbsp;</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 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...