加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – ASP会员奇数问题

发布时间:2020-12-16 07:21:05 所属栏目:asp.Net 来源:网络整理
导读:我在ASP .NET中使用Membership API,我在登台服务器上遇到了以下问题.该应用程序在我的本地计算机上正常运行数据表存储在SQL Server上.我的本地服务器和登台服务器都指向同一个数据库服务器.当我部署到我的登台服务器时,我收到以下错误: Parser Error Messag
我在ASP .NET中使用Membership API,我在登台服务器上遇到了以下问题.该应用程序在我的本地计算机上正常运行数据表存储在SQL Server上.我的本地服务器和登台服务器都指向同一个数据库服务器.当我部署到我的登台服务器时,我收到以下错误:

Parser Error Message: The connection name 'OraAspNetConString' was not 
 found in the applications configuration or the connection string is empty. 

    Line 135:    <roleManager>
    Line 136:      <providers>
    Line 137:        <add name="OracleRoleProvider" 

type="Oracle.Web.Security.OracleRoleProvider,Oracle.Web,Version=2.111.6.20,Culture=neutral,PublicKeyToken=89b483f429c47342" 
connectionStringName="OraAspNetConString" applicationName="" />
    Line 138:        <add name="AspNetSqlRoleProvider"   
connectionStringName="LocalSqlServer" applicationName="/" 
type="System.Web.Security.SqlRoleProvider,System.Web,Version=2.0.0.0,PublicKeyToken=b03f5f7f11d50a3a" />
    Line 139:        <add name="AspNetWindowsTokenRoleProvider" 
applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider,PublicKeyToken=b03f5f7f11d50a3a" />


Source File: 
c:WINDOWSMicrosoft.NETFrameworkv2.0.50727Configmachine.config
    Line: 137

我不知道为什么它甚至试图对Oracle做任何事情,我的web.config不包含任何与Oracle相关的东西.

有没有人知道为什么会这样?

[编辑]
在我的本地计算机的machine.config上,我没有OracleRoleProvider密钥.但我的登台服务器呢.如果这有帮助.

解决方法

这里的老问题,但我刚刚遇到它,想分享一些更多的细节.

首先,如果你需要做一个< clear />最简单的解决方案在您的connectionStrings块中,将空白的OraAspNetConString connectionstring条目添加回web.config:

<connectionStrings>
    <clear />
      <add name="OraAspNetConString" connectionString=" "/>    
</connectionStrings>

当您在任何计算机上使用install the Oracle .NET package时,会在您的machine.config中安装大量不同的提供程序,并将OraAspNetConString作为计算机级别的connectionString安装. < clear />元素摆脱了OraAspNetConString,并且由于Oracle的machine.config添加,默认情况下加载的所有其他Oracle提供程序在找不到connectionString时都会崩溃.

这里你探讨使用元素作为成员资格提供者的另一个答案是行不通的,因为在machine.config中添加的大多数其他oracle提供者仍然会寻找那个OraAspNetConString,所以只清除那个提供者并没有帮助你.

这些是他们在我的machine.config中安装的所有提供者:

<membership><providers>
    <add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider,Version=4.112.2.0,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" />
</providers></membership>
<profile><providers>
    <add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
</providers></profile>
<roleManager><providers>
    <add name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
</providers></roleManager>
<siteMap><providers>
    <add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" securityTrimmingEnabled="true"/>
</providers></siteMap>
<webParts>
  <personalization>
    <providers>
      <add name="OraclePersonalizationProvider" type="Oracle.Web.Personalization.OraclePersonalizationProvider,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
    </providers>
  </personalization>
</webParts>
<healthMonitoring><providers>
    <add name="OracleWebEventProvider" type="Oracle.Web.Management.OracleWebEventProvider,PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" buffer="true" bufferMode="OracleNotification"/>
</providers></healthMonitoring>

因此,如果你不想添加空白的OraAspNetConString,你必须确保你要么< clear />以下每个Oracle提供商或进入并添加< remove name = x />每个提供者类的元素如下:

<membership><providers>
    <remove name="OracleMembershipProvider" />
</providers></membership>
<profile><providers>
    <remove name="OracleProfileProvider" />
</providers></profile>
<roleManager><providers>
    <remove name="OracleRoleProvider" />
</providers></roleManager>
<siteMap><providers>
    <remove name="OracleSiteMapProvider" />
</providers></siteMap>
<healthMonitoring><providers>
    <remove name="OracleWebEventProvider" />
</providers></healthMonitoring>

我从未在我的网络应用程序中处理任何siteMap或Health Monitoring代码,但我仍然需要手动添加这些< remove />我的web.config中的不同提供程序的元素或某些东西会崩溃,寻找不存在的OraAspNetConString连接字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读