WebPart 学习笔记

1.升级了 Sql Express 到 Sql 2005 ,WebPart 要连接到 Express 数版据库 aspnetdb 的时候就报错了.
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

SQLExpress 数据库文件自动创建错误:

连接字符串使用应用程序 App_Data 目录中的数据库位置指定了一个本地 SQL Server Express 实例。由于提供程序确定应用程序服务数据库不存在,因此试图自动创建该数据库。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足下列配置要求:

   1. 如果应用程序 App_Data 目录不存在,则 Web 服务器帐户必须具有对应用程序目录的读写访问权限。这是因为如果不存在 App_Data 目录,Web 服务器帐户将会自动创建它。
   2. 如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只要求对应用程序 App_Data 目录的读写访问权限。这是必要的,因为 Web 服务器帐户将尝试确认 SQL Server Express 数据库已在应用程序 App_Data 目录中。如果从 Web 服务器帐户撤消对 App_Data 目录的读访问权限,提供程序便无法正确地确定 SQL Server Express 数据库是否已存在。如果提供程序试图创建已存在的数据库的副本,就会出错。写访问权限是必需的,因为创建新数据库时需要使用 Web 服务器帐户凭据。
   3. 计算机上必须安装 SQL Server Express。
   4. Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。 

解决的办法是:
 在web.config文件中重新设置一下:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=xxx;Initial Catalog=zzz;Integrated Security=true;"
providerName
="System.Data.SqlClient" />
</connectionStrings>

同时在下面目录:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\下。
运行 aspnet_regsql.exe 此配制程序,可以方便的把 aspnetdb 里的存储过程和表移植到sql Server 2000等处.
.zzz为移植到的数据库表,例如Northwind
****因为vs2005依赖的就是express版的sql 2005里的aspnetdb ,而默认情况下LocalSqlServer的连接字符串是
 
<connectionStrings>
    
<add name=LocalSqlServer connectionString="data source=\SQLEXPRESS.;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
 providerName="System.Data.SqlClient" />
  
</connectionStrings>

所以要先移除默认的连接字符串,添加一个新的连接字符串,如上面所示.

原文:http://www.cnblogs.com/boulder19830907/archive/2007/08/31/877082.html

2. WebPart 的权限配置.如果用 Forms 身份验证,则报错:
个性化设置未启用和/或无法修改。必须将 Enabled 属性设置为 true,并且必须选择已注册的个性化设置提供程序。当前用户必须被授予修改个性化设置状态的权限。

需要在 Web.config 中配置:
 <authentication mode="Windows">.
原文:http://9iyou.com/Program_Data/ASPNET-2384.html

    由此带来的问题是,如何在 Forms 身份验证下实现 WebPart .

3.WebPart 之间的通讯.
原文地址:https://www.cnblogs.com/newsea/p/959646.html