2013-03-08 2 views
1

Я работаю над своим первым настоящим проектом MVC, и моя задача - реализовать пользовательский поставщик членства. Я использовал один из них ранее в ASP.NET 3.5 Web Forms, поэтому я пытаюсь повторно использовать некоторые из этого кода, если это возможно. Наши данные поступают из удаленного веб-сервиса, поэтому я не буду использовать ни одну из стандартных баз данных членства. На основании некоторых исследований и опыт работы в веб-формы я создал свой класс:MVC 4 Пользовательские проблемы с провайдером проблем

public class wwdllMembershipProvider : MembershipProvider 

Я поставил следующий в web.config:

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
    <membership defaultProvider="wwdllMembershipProvider" userIsOnlineTimeWindow="15"> 
     <providers> 
      <add name="wwdllMembershipProvider" type="wwdllMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" writeExceptionsToEventLog="false" enablePasswordChange="true" /> 
     </providers> 
    </membership> 

Оттуда я только собирался попробуйте увидеть, удался ли какой-либо из пропущенных кодов в моем членском провайдере. Но как только я нажимаю на ссылку входа в приложение, я получаю следующую ошибку:

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка определения местоположения сервера/экземпляра) Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.Data.SqlClient.SqlException: при установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (Поставщик: SQL Network Interfaces, ошибка: 26 - Ошибка Расположение сервера/Instance Указано)

Источник ошибки:

Line 55:      using (var context = new UsersContext()) 
Line 56:      { 
Line 57:       if (!context.Database.Exists()) 
Line 58:       { 
Line 59:        // Create the SimpleMembership database without Entity Framework migration schema 


Source File: c:\Users\mburt\Documents\Visual Studio 2012\Projects\eSales\4300\Siriusware.eSales\Filters\InitializeSimpleMembershipAttribute.cs Line: 57 

Что озадачивает меня, потому что я не думаю, что простой код поставщика членства будет выполнять из-за того, что параметр web.config отключил его.

Может кто-нибудь указать мне, что я делаю неправильно? Благодаря!

+0

Вы можете отредактировать информацию, чтобы ваше имя и компанию из этого довольно публичного размещения. – Cornelius

ответ

2

Контроллер учетной записи по умолчанию украшен этим самым атрибутом. Проверьте, сохранилось ли это.

(по умолчанию код MVC4 проекта ниже.)

namespace MvcApplication2.Controllers 
{ 
    [Authorize] 
    [InitializeSimpleMembership] 
    public class AccountController : Controller 
    { 
     [...] 
    } 
} 
+1

Вы правильно удалили аннотацию '[InitializeSimpleMembership] ', решенную для меня, спасибо. – Stainedart

Смежные вопросы