C#站点映射身份验证以托管失败的异常

时间:2016-08-18 14:00:08

标签: c# asp.net sitemap

当我在ASP.net中使用站点地图在我的网站中创建树视图或siteMapPath时,我遇到了与配置相关的异常:

  

验证主机''对于用户''使用方法   ' mysql_native_password'消息失败:用户拒绝访问   '' @' DESKTOP-54CAR3Q' (使用密码:否)

enter image description here]

这是错误代码:

<siteMap>
  <providers>
   <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/>
  </providers>
</siteMap>

2 个答案:

答案 0 :(得分:1)

我不确定将machine.config文件搞砸是个好主意。无论如何,您可能无法在典型的生产服务器中访问它。

更简洁的解决方案是在<clear />部分的开头添加<providers>;像这样

<providers>
    <clear />
    <!-- add your own provider(s) -->
</providers>

您还可以指定默认提供商;像这样(我使用过示例提供程序):

<siteMap defaultProvider="DefaultSiteMap" enabled="true">
    <providers>
        <clear />
        <add name="DefaultSiteMap" siteMapFile="Web.sitemap" 
             type="System.Web.XmlSiteMapProvider" 
             description="My Preferred SiteMap Provider" 
             securityTrimmingEnabled="true" />
    </providers>
</siteMap>

答案 1 :(得分:0)

最后我得到了solution

的解决方案

指导我在路径中的machine.config中注释标记 “C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config”

刚刚对代码进行了评论

<providers>
 <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/>
</providers>

我不知道为什么,但无论如何它都适用于我的电脑和笔记本电脑