我在本地计算机上运行的ASP.Net Web应用程序使用来自远程SQL Server 2012的数据源。
我在我的机器上安装了MySQL服务器,用于完全不同的项目,现在当我在使用远程数据库的应用程序上执行任何进程时,收到以下错误:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Host '(ahostnumber)' is not allowed to connect to this MySQL server
Source Error:
Line 283: <siteMap>
Line 284: <providers>
Line 285: <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
Line 286: </providers>
Line 287: </siteMap>
请注意,如果我删除了Connector / NET,一切都会正常工作。
答案 0 :(得分:2)
好的,所以我也遇到了这个问题,让我的网站恢复了工作。我觉得这有点像HACK并且还觉得有更好的解决方案,因为我不想更新我所有项目的所有web.config文件。但至少我能做好工作,直到找到更好的解决方案。
因为machine.config是web.config的父级,我们可以覆盖web.config中的machine.config。我在部分中更改了我的web.config看起来像这样。
<siteMap>
<providers>
<!-- ADDED CLEAR TO REMOVE ANY CONFIGS FROM MACHINE.CONFIG -->
<clear />
<!-- ADDED TO REPLACE ONE NEEDED FOR MY APP -->
<add name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/web.sitemap" securityTrimmingEnabled="true"/>
<add name="DefaultProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/web.sitemap" securityTrimmingEnabled="false"/>
<!-- THE REST OF YOUR SITEMAP PROVIDERS HERE... -->
</providers>
</siteMap>
希望这有帮助。