首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RenderControl()中为WebParts使用WebRequest.Create

在RenderControl()中为WebParts使用WebRequest.Create
EN

Stack Overflow用户
提问于 2010-09-20 23:50:01
回答 1查看 532关注 0票数 0

我需要调用一个web服务来接收一个JSON对象,我将在呈现内容之前解析该对象。下面是相同的代码:

代码语言:javascript
复制
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中包含以下代码行的变体,但都没有用。

代码语言:javascript
复制
<SafeControl Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System.Net" TypeName="WebPermission" Safe="True" AllowRemoteDesigner="True" />

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3753144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档