我在VS 2010中创建了一个Web服务项目。我可以让非SQL函数完美地工作。但我无法得到一个简单的Sql Server DB连接甚至打开。连接字符串适用于我创建的其他ASP.NET网站。我目前只是在我的开发盒上本地运行它。但其他ASP.NET网站使用相同的连接字符串在本地工作正常。我的代码如下。错误捕获的返回值也在下面。我有搜索谷歌,找不到任何帮助我解决这个问题。任何帮助都会得到很好的赞赏。谢谢!
System.Security.SecurityException:请求类型&System; System.Data.SqlClient.SqlClientPermission,System.Data,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'失败。在System.Security.SecuritySecurityEngine.Check(Object demand,StackCrawlMark& stackMark,Boolean isPermSet)的System.Security.PermissionSet.Demand()处于System.Data.SqlClient.SqlConnection的System.Data.Common.DbConnectionOptions.DemandPermission()处。 WebServiceTest.Service1上System.Data.SqlClient.SqlConnection.Open()的System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)上的System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)中的PermissionDemand() .GetAccountName(String VID)失败的操作是:Demand失败的第一个权限的类型是:System.Data.SqlClient.SqlClientPermission失败的程序集的区域是:Intranet
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
<WebMethod()> _
Public Function ThisIsATest() As String
Return "This Is A Test"
End Function
<WebMethod()> _
Public Function GetAccountName(VID As String) As String
Dim conn As New SqlConnection
Dim myc As New SqlCommand
Dim wk As String
wk = ""
conn.ConnectionString = "Data Source=xxxxxxxx;Initial Catalog=WORKT;Integrated Security=False;UID=readonly;PWD=readonly"
Try
conn.Open()
Catch e As Exception
wk = e.ToString
End Try
conn.Close()
Return wk
End Function
答案 0 :(得分:1)
对于搜索此问题的其他人来说,它最终成为权限问题,因为我的应用程序存储在网络共享上。这是帮助我解决它的网站。我不得不将共享映射驱动器添加到ASP可信文件夹。
http://msdn.microsoft.com/en-us/library/zdc263t0(v=vs.90).aspx