C# SQL Server错误:为什么在.NET中执行角色系统查找时出现错误26
我在尝试使用.NET角色系统的修改版本进行角色查找时,在底部遇到了错误 抛出错误26的C#代码行:C# SQL Server错误:为什么在.NET中执行角色系统查找时出现错误26,c#,sql,.net,sql-server,exception,C#,Sql,.net,Sql Server,Exception,我在尝试使用.NET角色系统的修改版本进行角色查找时,在底部遇到了错误 抛出错误26的C#代码行: System.Web.Security.Roles.IsUserInRole(“blahuser”、“blahrole”); 这是我从localhost运行的时候。角色系统在dev和prod中运行良好。 项目已设置为IIS Express。另一件奇怪的事情是,这对我的老板在本地有效,但对这里的任何其他开发人员都无效。我可以在SQLServerManagementStudio中使用我的window
System.Web.Security.Roles.IsUserInRole(“blahuser”、“blahrole”);
这是我从localhost运行的时候。角色系统在dev和prod中运行良好。
项目已设置为IIS Express。另一件奇怪的事情是,这对我的老板在本地有效,但对这里的任何其他开发人员都无效。我可以在SQLServerManagementStudio中使用我的windows凭据,或者使用下面显示的连接字符串user/pass,很好地连接到auth数据库并进行编辑。这可能是一个权限问题,但我们不知道它可能是哪一个。我的老板现在已经想尽一切办法了。我忘了提到我使用的配置文件与我的老板完全相同,他在本地电脑上工作得很好
角色管理器配置如下:
<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>
它连接到我们的auth数据库,并且应该在web.config中使用此连接字符串:
<add name="DefaultConnection" connectionString="Data Source=DtiDevSql201.Dovetail.Local;Initial Catalog=blahauthserver;User ID=blahuser_id;Password=blahpass" providerName="System.Data.SqlClient" />
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错)
我已经尽了我所能从其他用户那里得到了这个问题的答案,但是他们没有成功。为什么你认为这是正在使用的连接?你应该有这样的东西:
<roleManager defaultProvider="SqlProvider"
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="SqlServices"
applicationName="SampleApplication" />
</providers>
@ArthurSwails非常好。当你把它与我的答案相比较时,你看到了什么与你的不同呢?
我忘了提到我使用的配置文件与我的老板完全相同,他在本地电脑上工作得很好。提示-你的roleManager标签属性中没有defaultProvider。是的,这很有效!我需要一个默认的提供者。但是,为什么它对我的老板有效……我刚刚再次确认,他在web.config中没有默认的提供者设置。也许他在别的地方有它,但他不记得了。@ArthurSwails-好的,这不在问题的范围之内,但请记住ASP中的配置是如何工作的——配置文件是一个“级联”文件。有些文件是设置默认值的系统级配置。也许你的老板改变了这些来惹你?这是我想到的第一件事。。。请记住,在随机开发人员的环境中可能会有很多奇怪的事情。