2009-10-08 2 views
2

저는 HostMySite.com에서 호스팅되는 ASP.NET 웹 사이트를 보유하고 있으며 최근에는 중간 계정으로 실행되도록 공유 계정을 변경했습니다. 내 웹 사이트에서 내 Blogger 계정을 쿼리하고 블로그 게시물을 가져와 내 웹 사이트에 표시합니다.ASP.NET 매체 신뢰에서 Google Blogger 피드를 가져 오는 방법은 무엇입니까?

나는

검색 로컬 작동 Google.GData.Client의 v1.4.0.2을 사용하여 (중간 신뢰가 ISP에 호출 될 때까지 일을)하고있다. 이제 다음 오류가 표시됩니다.

[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 

Google 문서를 온라인으로 검색했지만 변경해야 할 항목을 찾을 수 없었습니다.

답변

0

중간 트러스트에서 웹 응용 프로그램은 원격 HTTP 연결을 열 수 없습니다. 내가 알고있는 해결 방법이 없습니다. 가장 좋은 방법은 다른 hoster로 전환하거나 hoster와 협상하여 GoDaddy does의 WebPermission 설정을 특별히 조정하여 서버 응용 프로그램이 Google과 같은 원격 HTTP 서버에서 데이터를 가져와야하는 것과 같은 sccenarios를 허용하는 것입니다.

BTW, 나는 GoDaddy가 위대한 hoster라고 말하지 않고 있습니다.하지만 그들은 당신의 질문에 언급 된 문제를 해결하기 위해 매체 신뢰 설정을 수정했습니다. 그리고 GoDaddy와 같은 저가형 호스팅 업체가이 작업을 기꺼이 수행한다면 다른 호스팅 업체가이를 수행하도록 설득하는 인수로 사용할 수 있습니다.

0

블로그 게시물을 검색하고 있습니까? RSS 피드가 당신을 대신해서 일을 할 수 없습니까? 이것은 클라이언트를 위해 한 GoDaddy 사이트에서 작동합니다.

네임 스페이스를 가져 기억

(프로젝트 참조를 추가해야 할 수도 있습니다) :

using System.ServiceModel.Syndication; 

protected void Page_Load(object sender, EventArgs e) 
    { 

     XmlReader xmlReader = System.Xml.XmlReader.Create("URL to blog feed"); 

     SyndicationFeed feed = SyndicationFeed.Load(xmlReader); 
     lstLatestNews.DataSource = feed.Items.Take(5); 
     lstLatestNews.DataBind(); 
    } 

을 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> 
1

일부 호스트가 기본 신뢰 수준을 "중간"을 설정합니다 (또는 매체와 비슷한 맞춤 신뢰 수준). 그러나 다음과 같이 web.config에서 재정의 할 수 있습니다.

<system.web> 
    <trust level="Full" originUrl="" /> 
</system.web> 

재정의하려 했습니까?

0

사용하고자하는 내용에 따라 RSS 피드를 사이트에 삽입 할 수있는 자바 스크립트 API 인 Google AJAX 피드 API를 살펴볼 수 있습니다.

서버 측에서 액세스 할 수 없으므로 사용자 브라우저에만 표시됩니다.

검색 엔진에서 색인을 생성하려는 콘텐츠를 데이터베이스에 저장하거나 조작해야하는 경우이 솔루션을 사용할 수 없습니다.

구글 피드 API 문서 도구는 다음에서 :

관련 문제