我们在我们拥有的测试网络服务器上遇到了一种网络方法错误。主要错误是:
"Access to the path 'E:\websites\Discovery\ProfileService\App_Data' is denied"
进一步查看堆栈跟踪可以提供更多信息:
"at System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile..."
"at System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile..."
"at System.Web.DataAccess.SqlConnectionHelper.GetConnection..."
"at System.Web.Security.SqlMembershipProvider.GetUser..."
"at System.Web.Security.Membership.GetUser..."
"at System.Web.Security.Membership.GetUser..."
似乎会员提供商试图为会员呼叫找到连接字符串。如果未能找到此条目,它会尝试创建新的本地成员资格数据库,但无法通过权限错误执行此操作。
我们仔细检查了连接字符串,虽然它们是加密的但它们似乎还可以。然后我们保存了配置,解密了连接字符串部分 - 现在调用了!
我们知道连接字符串是正确的,因为其他服务方法工作正常。更奇怪的是,成员资格的某些方面似乎适用于加密。
之前是否有人见过这个或知道如何使用加密连接字符串进行此操作?
答案 0 :(得分:0)
在您的代码中,在进行SQL调用之前,您是在解密连接字符串吗?
堆栈跟踪中的错误可能是您的应用在该目录中没有写入权限。