我需要调用一个web服务来接收一个JSON对象,我将在呈现内容之前解析该对象。下面是相同的代码:
Dim jResponse As MessageResponseWrapper = New MessageResponseWrapper() 'Custom class to deserialize JSON
Dim req As System.Net.HttpWebRequest
req = System.Net.WebRequest.Create("http://some-cross-domain?q=" & SearchKeyword & "&restapi.response_style=view&xslt=json.xsl")
req.Method = WebRequestMethods.Http.Get
Dim res As HttpWebResponse = req.GetResponse()
Dim reader As New StreamReader(res.GetResponseStream())
Dim json As String = reader.ReadToEnd()
Dim ser As New DataContractJsonSerializer(GetType(MessageResponseWrapper))
Using ms As New MemoryStream(Encoding.Unicode.GetBytes(json))
jResponse = TryCast(ser.ReadObject(ms), MessageResponseWrapper)
End Using这是一个独立的ASP.Net页面。但是,我需要这作为一个Web部件,以端口到Sharepoint网站。使用描述的here方法,我在RenderControl()方法中给出了上面的代码。我收到错误消息“"CustomWebPart”网站部件似乎正在引起问题。请求类型为'System.Net.WebPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089‘的权限失败。“
我已经尝试在web.config中包含以下代码行的变体,但都没有用。
<SafeControl Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System.Net" TypeName="WebPermission" Safe="True" AllowRemoteDesigner="True" />有什么想法吗?
发布于 2010-09-24 20:03:22
将GAC部件部署到GAC成功了。我在手动部署它之前-将dll复制到bin文件夹
部署到GAC提供了调用WebRequest.Create()等调用的权限
Sharepoint安全参考:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_sp2003_ta/html/sharepoint_wsscodeaccesssecurity.asp
https://stackoverflow.com/questions/3753144
复制相似问题