如何在ASP.NET媒体信任中检索Google Blogger提要?
我在HostMySite.com上有一个ASP.NET网站,他们最近将共享帐户更改为以中等信任运行。在我的网站上,我查询我的博客账号,并在我的网站上显示博客帖子 我正在使用Google.GData.Client v1.4.0.2 检索在本地工作(并一直工作到在ISP上调用medium trust)。现在我收到以下错误:如何在ASP.NET媒体信任中检索Google Blogger提要?,asp.net,gdata-api,Asp.net,Gdata Api,我在HostMySite.com上有一个ASP.NET网站,他们最近将共享帐户更改为以中等信任运行。在我的网站上,我查询我的博客账号,并在我的网站上显示博客帖子 我正在使用Google.GData.Client v1.4.0.2 检索在本地工作(并一直工作到在ISP上调用medium trust)。现在我收到以下错误: [SecurityException: Request for the permission of type 'System.Net.WebPermission, System,
[SecurityException: Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +58
System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint) +147
System.Net.HttpRequestCreator.Create(Uri Uri) +26
System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase) +216
System.Net.WebRequest.Create(Uri requestUri) +31
Google.GData.Client.GDataRequest.EnsureWebRequest() +77
Google.GData.Client.GDataRequest.Execute() +42
Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String etag, Int64& contentLength) +193
Google.GData.Client.Service.Query(FeedQuery feedQuery) +202
我已经搜索了谷歌文档和在线,但没有找到需要更改的内容。在中等信任下,web应用程序无法打开远程HTTP连接。我知道没有解决办法。您最好的选择是切换到另一个主机,或者与您的主机协商,让他们做他们已经放松了WebPermission设置的事情,特别是允许像您这样的Scenarios服务器应用程序必须从远程HTTP服务器(如Google)获取数据
顺便说一句,我并不是说戈达迪是一个伟大的主持人——他们不是——但他们确实修改了他们的中等信任设置,以解决您问题中提到的问题。如果像GoDaddy这样的低端主持人愿意这样做,那么你可以以此为理由说服其他主持人也这么做。你只是在检索博客帖子吗?RSS提要不能为您完成这项工作吗?这在我为客户做的GoDaddy网站上运行 请记住导入命名空间(可能需要添加对项目的引用): 在ASPX页面中:
<asp:ListView ID="lstLatestNews" runat="server">
<LayoutTemplate>
<ul id="latest_news">
<li id="itemPlaceholder" runat="server"></li>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li><a href="<%# Eval("Links[0].Uri.AbsoluteUri") %>"><%# Eval("Title.Text") %></a> <em><%# Convert.ToDateTime(Eval("PublishDate.DateTime")).ToString("g") %></em></li>
</ItemTemplate>
</asp:ListView>
一些主机将默认信任级别设置为“中等”(或类似于中等的自定义信任级别),但允许在web.config中覆盖该级别,如下所示:
<system.web>
<trust level="Full" originUrl="" />
</system.web>
你试过覆盖它吗?根据你想使用它做什么,你可以看看Google AJAX提要API,它是一个javascript API,可以让你将rss提要嵌入你的站点 您将无法从服务器端访问它,因为它将仅显示在用户浏览器中 如果您试图通过搜索引擎将此内容编入索引,则需要将其保存到数据库或对其进行操作,否则此解决方案将不适用于您 Google Feed API文档位于:
<system.web>
<trust level="Full" originUrl="" />
</system.web>