Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server错误:为什么在.NET中执行角色系统查找时出现错误26_C#_Sql_.net_Sql Server_Exception - Fatal编程技术网

C# SQL Server错误:为什么在.NET中执行角色系统查找时出现错误26

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

我在尝试使用.NET角色系统的修改版本进行角色查找时,在底部遇到了错误

抛出错误26的C#代码行:

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中的配置是如何工作的——配置文件是一个“级联”文件。有些文件是设置默认值的系统级配置。也许你的老板改变了这些来惹你?这是我想到的第一件事。。。请记住,在随机开发人员的环境中可能会有很多奇怪的事情。