Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
10 / 10 / 7
Регистрация: 05.12.2013
Сообщений: 42
1

Error: 26 - Ошибка при обнаружении указанного сервера или экземпляра

01.05.2017, 18:07. Показов 2782. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, работаю с авторизацией на сайте с использованием SimpleMembership, возникла следующая проблема. Создал область для панели администратора установил аттрибуты [Authorize], [InitializeSimpleMembership], когда перехожу по ссылке первый раз то отправляет на страницу авторизации /Account/Login, вхожу в аккаунт все работает нормально, не выходя из аккаунта. После перезапускаю проект, захожу на панель администратора выдает ошибку:
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: SQL Network Interfaces, error: 26 - Ошибка при обнаружении указанного сервера или экземпляра)
Если зайти на страницу авторизации при этом не вводя данные, а потом зайти снова в панель администратора, то все работает. В чем может быть причина?

Код контролера /Account
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System.Web.Mvc;
using WebMatrix.WebData;
using Library.Filters;
using Library.Models;
 
namespace Library.Controllers
{
    [Authorize]
    [InitializeSimpleMembership]
    public class AccountController : Controller
    {
        //
        // GET: /Account/Login
 
        [AllowAnonymous]
        public ActionResult Login(string returnUrl)
        {
            ViewBag.ReturnUrl = returnUrl;
            return View();
        }
 
        //
        // POST: /Account/Login
 
        [HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }
 
            ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно.");
            return View(model);
        }
 
        //
        // POST: /Account/LogOff
 
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult LogOff()
        {
            WebSecurity.Logout();
 
            return RedirectToAction("Index", "Home");
        }
 
        #region Вспомогательные методы
        private ActionResult RedirectToLocal(string returnUrl)
        {
            if (Url.IsLocalUrl(returnUrl))
            {
                return Redirect(returnUrl);
            }
 
            return RedirectToAction("Index", "Home");
        }
        #endregion
    }
}
Код InitializeSimpleMembershipAttribute.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Threading;
using System.Web.Mvc;
using System.Web.Security;
using WebMatrix.WebData;
using Library.Models;
 
namespace Library.Filters
{
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
    public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute
    {
        private static SimpleMembershipInitializer _initializer;
        private static object _initializerLock = new object();
        private static bool _isInitialized;
 
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            // Обеспечение однократной инициализации ASP.NET Simple Membership при каждом запуске приложения
            LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);
        }
 
        private class SimpleMembershipInitializer
        {
            public SimpleMembershipInitializer()
            {
                Database.SetInitializer<UsersContext>(null);
 
                try
                {
                    using (var context = new UsersContext())
                    {
                        if (!context.Database.Exists())
                        {
                            // Создание базы данных SimpleMembership без схемы миграции Entity Framework
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                        }
                    }
 
                    WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
 
                    var roles = (SimpleRoleProvider)Roles.Provider;
                    var membership = (SimpleMembershipProvider)Membership.Provider;
 
                    if (!roles.RoleExists("Administrator"))
                    {
                        roles.CreateRole("Administrator");
                    }
 
                    if (!roles.RoleExists("Moderator"))
                    {
                        roles.CreateRole("Moderator");
                    }
 
                    if (membership.GetUser("Admin", false) == null)
                    {
                        membership.CreateUserAndAccount("Admin", "admin");
                        roles.AddUsersToRoles(new[] { "Admin" }, new[] { "Administrator" });
                    }
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("Не удалось инициализировать базу данных ASP.NET Simple Membership. Чтобы получить дополнительные сведения, перейдите по адресу: http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }
        }
    }
}
Код контроллера /User/Test/
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System.Web.Mvc;
using Library.Filters;
 
namespace Library.Areas.User.Controllers
{
    [Authorize]
    [InitializeSimpleMembership]
    public class TestController : Controller
    {
        //
        // GET: /User/Test/
 
        [Authorize(Roles = "Administrator, Moderator")]
        public ActionResult Index()
        {
            return View();
        }
 
        [AllowAnonymous]
        public ActionResult Lorem()
        {
            return View();
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2017, 18:07
Ответы с готовыми решениями:

Ошибка при обнаружении указанного сервера или экземпляра
Выдает ошибку При установлении соединения с SQL Server произошла ошибка, связанная с сетью или...

Соединение с SQL Server: Ошибка при обнаружении указанного сервера или экземпляра
Помогите пожалуста исправить неполучается соеденится с SQL Server.

Добавить запись SQL-запросом: "Ошибка при обнаружении указанного сервера или экземпляра"
Добрый вечер, пытаюсь добавить запись в таблицу и выбивает ошибку &quot;Additional information: При...

В строке/файле найти символ "*" и выдать сообщение об обнаружении или не обнаружении этого символа
в строке/файле требуется найти символ * и выдать сообщение об обнаружении или не обнаружении...

0
01.05.2017, 18:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2017, 18:07
Помогаю со студенческими работами здесь

Windows socket error 10022: ошибка при создании сервера
при нажатии на кнопку, одна строчка выполняется ServerSocket1-&gt;Active=True; и ошибку выдает...

Автонажатие клавиш при обнаружении цвета или бот для игры
День добрый. Хотелось бы написать программу, которая нажимала бы клавиши, когда на экране, в...

BAT-файл для перезапуска программы при обнаружении в её логе слова "ERROR"
Задача такая есть программа которую нужно перезапускать если у нее в логах появилась запись ERROR....

Ошибка в коде при обнаружении незаполненного поля на форме
ребятки, подскажите пожалуйста, в коде выводит &quot;Expected:=&quot; If Form..Фамилия.Value = Null Or...

Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.
Есть ли ошибки в синтаксе? &lt;?php if(!isset($_COOKIE)) { echo &quot;&lt;p&gt;Здравствуйте, $_COOKIE&lt;p&gt;; }...

Завершение процесса при обнаружении другого процесса на .bat или .vbs
Будет всегда висеть в системе не закрываясь и смотреть при открытии даже одной из этих программ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru