我需要从RDL文件调用Web API,该文件位于SSRS托管的报告项目中。 RDL报告中有一个字段将使用Web Api响应。我已经用RDL编写了代码来调用该api,并使用System.net库获取响应,但是由于某些System.Web.permission错误,它失败了。
我尝试使用下面的用VB.NET(目标框架版本2.0)编写的代码来使用Web api。我还尝试在 web.config 中设置trustlevel = full
,但这并没有无法正常工作,但仍获得权限被拒绝的错误。
从控制台应用程序使用httpWebRequest
.. etc执行相同的代码时,我获得了成功的Web api响应,但是当我尝试从RDL调用时,它失败了。
请让我知道如何解决System.net库权限错误。
在调用上述功能以消耗Web api响应时出现以下错误:
System.Security.SecurityException: Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
代码:
`Public Function STSCall() As String
Dim url As String = "https://httpbin.org/get?token=8041637103881119"
Dim cardNumber As String = String.Empty
Dim httpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
httpWebRequest.Method = "GET"
httpWebRequest.ContentType = "application/json"
httpWebRequest.Headers.Add("X-AuthMode", "ServerSimpleAuth")
httpWebRequest.Headers.Add("X-ServerAuthKey", "STS")
Dim response = CType(httpWebRequest.GetResponse(), System.Net.HttpWebResponse)
Dim StreamReader As New System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.ASCII)
cardNumber = StreamReader.ToString()
Return cardNumber
End Function`
答案 0 :(得分:0)
您正在使用哪个第三方dll?通常,它可能由于第三方DLL而失败。