我想在WIN XP SP3上安装一个ASP.NET应用程序,
因此,我在WinXP SP3上安装了IIS 5.1
,.Net Framework 3.5 SP1
和MSSQL 2008 R2
。
然后,我将我的应用程序文件夹复制到C:\Inetpub\wwwroot\
接下来,我从IIS Manager
中的文件夹创建了一个应用程序,并将权限设置为以下图像:
正如您所看到的,我无法编写甚至从数据库中读取数据,每当我想写入数据库时,我都会收到上述异常。
它有什么问题?
P.S:
我在VMware Workstation 7.1上使用Win XP
该应用程序在Win Vista x86和Win7 x64中运行没有任何问题
该应用程序是使用.Net Framework 3.5 SP1
答案 0 :(得分:2)
您必须编辑权限,允许“网络服务”编辑MDF文件。
答案 1 :(得分:0)
您是否检查了数据库文件的属性(readonly属性)和ACL安全权限(在文件级别定义的权限 - 而不是在IIS管理控制台中)?
答案 2 :(得分:0)
我找到了解决方案。 我禁用了Windows防火墙,并通过“允许用户更改我的文件”共享了该文件夹,现在我可以轻松地从数据库中写入和读取: - )
答案 3 :(得分:0)
这很奇怪。事实证明,我的应用程序的一部分是在Sql Server中引用一个aspnetdb
文件,另一个是尝试引用在应用程序中本地创建的文件。
我的连接字符串是这样的:
<add name="ApplicationServices"
connectionString="Data Source=localhost; Initial Catalog=aspnetdb; Integrated Security=True" providerName="System.Data.SqlClient" />
但错误是这个
使用默认的&#39; ProfileProvider&#39;时失败。请做出来 确保它配置正确。数据库 &#39; C:\ WEBSITES \ XXXX.SILVERLIGHT \ ADMIN \ APP_DATA \ ASPNETDB.MDF&#39; 无法升级,因为它是只读的,具有只读文件或 用户无权修改某些文件。制作 数据库或文件可写,并重新运行恢复。
我花了一段时间注意到这是在我的应用程序根目录下,而不是我的应用程序的主要部分使用的Sql Server版本。
在我的情况下,我只是重命名了本地创建的aspnetdb文件,当我重新使用它时,它只是以默认大小(10240kb和504kb)重新创建它们。
我不太确定这是怎么回事,但我的情况这是一个足够的解决方案。
我想也许我没有明确地使用配置文件提供程序,因此它使用的是默认设置。应用程序的其余部分使用了正确的连接字符串。
答案 4 :(得分:0)