2016-06-17 4 views
1

Ich bekomme den Fehler am unteren Rand beim Versuch, eine Rolle Lookup mit einer modifizierten Version von .NET 's Rollensystem zu tun.SQL Server - Fehler: Warum Fehler 26 beim Ausführen einer Rollensystem - Suche in. NET

Linie von C# -Code, der den Fehler wirft 26:

System.Web.Security.Roles.IsUserInRole("blahuser", "blahrole"); 

Dies ist, wenn ich von localhost laufen. Das Rollensystem funktioniert in Dev und Prod. Projekt ist auf IIS Express festgelegt. Das andere komische Ding ist das funktioniert lokal für meinen Chef, aber nicht für irgendeinen der anderen Entwickler hier. Ich bin in der Lage, eine Verbindung zur Auth-Datenbank herzustellen und Änderungen vorzunehmen, in SQL Server Management Studio mit meinen Windows-Krediten, oder mit der Verbindungszeichenfolge user/pass unten gezeigt. Es ist wahrscheinlich ein Berechtigungsproblem, aber wir wissen nicht, welches es sein könnte. Mein Chef hat alles versucht, was er sich vorstellen kann. Ich habe vergessen zu erwähnen, dass ich genau die selbe Konfigurationsdatei verwende wie mein Chef, der auf seinem lokalen PC gut funktioniert.

Rolle Manager Config ist unter:

<roleManager enabled="true" cookiePath="/" cookieName="Test" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" cacheRolesInCookie="true" cookieTimeout="30"> 
     <providers> 
     <add connectionStringName="DefaultConnection" applicationName="Dovetail.Apps" name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </providers> 
    </roleManager> 

Dies verbindet sich mit unserer Auth Datenbank und es sollte diese Verbindungszeichenfolge in web.config werden:

<add name="DefaultConnection" connectionString="Data Source=DtiDevSql201.Dovetail.Local;Initial Catalog=blahauthserver;User ID=blahuser_id;Password=blahpass" providerName="System.Data.SqlClient" /> 

Ein netzwerkbezogener oder instanz Beim Herstellen einer Verbindung zu SQL Server ist ein spezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. (Anbieter: SQL Network Interfaces, Fehler: 26 - Fehler beim Auffinden des Servers/der Instanz angegeben)

Ich habe alles versucht, was ich kann von anderen Benutzern, die Antworten auf diese Frage hatten, aber sie haben nicht funktioniert.

Antwort

2

Warum denken Sie, dass diese Verbindung verwendet wird? Sie sollten etwas, das wie folgt aussieht:

<roleManager defaultProvider="SqlProvider" 

in Ihrer Konfiguration und dann später etwas wie folgt aus:

<providers> 
    <add 
    name="SqlProvider" 
    type="System.Web.Security.SqlRoleProvider" 
    connectionStringName="SqlServices" 
    applicationName="SampleApplication" /> 
    </providers> 

Bitte suchen Sie nach diesen Konfigurationselemente. Ihre Inhalte helfen Ihnen das "Mysterium" zu lösen.

+0

@ArthurSwails sehr nett. und was siehst du, das ist anders als du, wenn du es mit meiner Antwort vergleichst? – Hogan

+0

' ' Ich habe vergessen zu erwähnen, dass ich genau die gleiche Konfigurationsdatei wie mein Chef verwende, der auf seinem lokalen PC gut funktioniert. –

+0

Hinweis - Sie haben keinen standardprovider als Attribut für das roleManager-Tag. – Hogan