我正在使用webparts来创建仪表板页面。为此,我动态加载webparts。
strZoneNumber = "zone" + intCnt.ToString();
UserControl UC = (UserControl)LoadControl(row["c_widget_path"].ToString());//Loads the usercontrol
UC.ID = row["c_widget_webid"].ToString();
UC.Attributes.Add("Title", row["c_widget_webid"].ToString());
//UC.Attributes.Add("title" , "Test");
GenericWebPart ucwebPart = wpmDashBoardManager.CreateWebPart(UC);//creates a webpart
wpmDashBoardManager.AddWebPart(ucwebPart, wpmDashBoardManager.Zones[strZoneNumber], ZoneIndex);//adds it to a zone
wpmDashBoardManager.Zones[strZoneNumber].Visible = true;
我的webpartmanager个性化模式设置为' true'
在服务器上运行此页面时,它给出了以下错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错) 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
SQLExpress数据库文件自动创建错误: 连接字符串使用应用程序App_Data目录中的数据库位置指定本地Sql Server Express实例。 提供程序尝试自动创建应用程序服务数据库,因为提供程序确定数据库不存在。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足以下配置要求:
如果应用程序App_Data目录尚不存在,则Web服务器帐户必须具有对应用程序目录的读写权限。这是必要的,因为如果Web服务器帐户尚不存在,它将自动创建App_Data目录。
如果应用程序App_Data目录已存在,则Web服务器帐户仅需要对应用程序App_Data目录的读写访问权限。这是必要的,因为Web服务器帐户将尝试验证应用程序App_Data目录中是否已存在Sql Server Express数据库。从Web服务器帐户撤消对App_Data目录的读取访问将阻止提供程序正确确定Sql Server Express数据库是否已存在。当提供程序尝试创建现有数据库的副本时,这将导致错误。需要写访问权限,因为在创建新数据库时会使用Web服务器帐户凭据。
必须在计算机上安装Sql Server Express。 Web服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机和域帐户创建本地用户配置文件的详细信息,请参阅自述文档。**
关于可能导致此问题和解决方案的任何想法?非常感谢帮助:):))
答案 0 :(得分:3)
ASP.NET的许多功能都依赖于内部应用程序服务,例如成员资格,角色,配置文件和个性化。例如,ASP.NET个性化服务使用个性化提供程序在Web页面上保存个性化用户设置。默认情况下,Web部件会尝试将个性化保存到SQL Express数据库中。
这个解决方案对我有帮助。
在web.config文件的connectionStrings部分中删除LocalSqlServer连接并使用您自己的首选项再次添加:
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="yourConnectionString" providerName="System.Data.SqlClient"/>
</connectionStrings>
然后,如果您将“无法找到存储过程”dbo.aspnet_CheckSchemaVersion'错误,则应创建一个新数据库供您用于个性化。
因此,只需浏览C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
并完成向导的步骤。
希望它会有所帮助。