ASP.NET MVC 에서 어떻게 투석실에다가 레코메드 취급료 RSS 피드? 제 3 자에게 사용하여 라이브러리? 바클 의 RSS 를 사용하여 물건을? 그냥 만들어 볼 수 있다는 렌더링합니다 RSS xlm? 또는 완전히 다른 일을?

Mahdi Taghizadeh
그는 12년 전 댓글을 달았습니다
0

방금 이사스 파일 하나의 프로젝트에서 사용하는 로스토크리스 RSS 피드 생성할 수 있어야 합니다. 그런 다음 재작성할 해당 url 을 친화적임 하나. 아무것도 없는 것 같아요 상대로 이 방식을 적용한다.

Blue Waters
그는 11년 전 댓글을 달았습니다
0

39, s 의 후속 게시물로의 처리하는 것이 here& 라사크션레술트 조금 더 이상 이용할 뿐만 아니라 일반 시드세이션악타이온 결과: 클래스용 304 노모디피들 조건부 프레젠테이션이든 거르개. http://www.58bits.com/blog/ASPNET-MVC-304-Not-Modified-Filter-For-Syndication-Content.aspx

WDuffy
그는 11년 전 댓글을 달았습니다
0

39, ve 작성했습니까 i& 레슬레술트 보면 그렇게 말씀하시다면야 가질 수 있는 한 요구 사항을 만족해야 합니다

[http://www.wduffy.co.uk/blog/rssresult-aspnet-mvc-rss-actionresult/] (http://www.wduffy.co.uk/blog/rssresult-aspnet-mvc-rss-actionresult/)

justSteve
그는 9년 전 댓글을 달았습니다
1

그냥 이 질문에 업데이트하려면 vmware. 타당하다고 질문 및 # 39 마지막 편집 - 18 개월 다음과 같은 것을 가지고 있는 것처럼 보이던, .net, mvc 변경하는 방식을 모두 이터레이션에 변경일 외곽진입 문제를 급지가 management& # 39,? 즉, & # 39 이 합의를 통해 다른 그러하매 스레드할) 의 근본적인 변화가 없으므로 최상의 설정되었습니다 alternatives.& # 39 - 이 있다.

tugberk
그는 9년 전 댓글을 달았습니다
0

ASP.NET MVC 의 나쁜거라 추천.

Leland Richardson
그는 7년 전 댓글을 달았습니다
0

나는 이번에 대한 기사를 쓴 [작성하는방법에 RSS feed in asp.net mvc] (http://tech.pro/tutorial/1117/generating-rss-feed-actions-in-aspnet-mvc) 도 하는 일을 찾고 있는

답변 5 개

Net framework 같이 처리하는 클래스뿐만 시노다션: 시드세이션퍼드 상술합니다. 그래서 수행하는 대신 렌더링합니다 교도관님도요 사용하거나 다른 제안됩니다 RSS 라이브러리란 왜안돼요 이제 레임워크 잘있게나 it?

기본적으로 다음과 같은 사용자 정의 및 you& 악타이온레술트 방금 # 39, re 준비가 되어 있어야 합니다.

public class RssActionResult : ActionResult
{
    public SyndicationFeed Feed { get; set; }

    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.ContentType = "application/rss+xml";

        Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(Feed);
        using (XmlWriter writer = XmlWriter.Create(context.HttpContext.Response.Output))
        {
            rssFormatter.WriteTo(writer);
        }
    }
}

이제 작업 환경에서 컨트롤러거 반품해야 다음과 같은 간단한 수 있습니다.

return new RssActionResult() { Feed = myFeedInstance };

39 의 전체 샘플링합니다 there& 내 블로그에 dell. http://www.developerzen.com/2009/01/11/aspnet-mvc-rss-feed-action-result/

Micah

다음은 내가 추천합니까:

  1. 레슬레술트 불렀으매 해당 클래스를 만듭니다 기본 클래스 상속됩니다 끕니까 요약 악타이온레술트.

  2. 에스쿠터스울트 오버라이드합니다 메서드입니다.

  3. 에 의해 전달되는 에스쿠터스울트 콘트로예르콘테스트 요청자에게 대체하십시오 데이터 및 컨텐츠 유형 및 얻을 수 있습니다.

  4. 일단 rss, 내용 유형을 변경하십시오 직렬화할 할 것입니다 (또는 다른 자신의 코드를 사용하여 library), RSS 데이터를 쓸 반응을 보였다.

  5. Rss 와 대한 작업을 생성하시겠습니까 보기할 컨트롤러거 복귀하십시오 복귀하십시오 레슬레술트 유형을 지정안됨 설정합니다. 눈 기반으로 데이터 모델에서 그리웠댔지 반환되기를.

  6. 이 작업은 다음 rss 수신한다는 노래할까요 모든 데이터를 로컬라이즈할 수 있습니다.

그것은 아마도 및 재사용 가능한 가장 빠른 길을 찾는 요청에 대한 회신입니다 rss 는 ASP.NET MVC.

Dale Ragan
patridge
그는 10년 전 댓글을 달았습니다
10

[유사물 솔루션이므로] 는 한스엘만 (http://live.visitmix.com/MIX10/Sessions/FT07) (비디오: 여기서 그는 시작 약 41m) 에서 상속됩니다 필레지울트. 이렇게 할 수 있습니다 # 39 의 구성자를 class& 호츨 '베이스 (&quot application/rss+xml";)' 3, 4 단계를 피하고. 하지만 그는 높여줍니까 에스쿠터스울트 오버라이드합니다 isn& # 39, t 왔다.

그는 또한 많은 일반적으로 손으로 짠 shortcuts 시드리카타이테마 3.5+ 기능을 사용하여 '코드', '시드리카테퍼드' 및 'rss20feedformatter'.

Christian
그는 9년 전 댓글을 달았습니다
0

@Dale: 응답 할 때 쓸 수 있는가 하는 부분 보기입니다 채우기할 출력입니다? 감사합니다.

patridge
그는 8년 전 댓글을 달았습니다
1

링크를 업데이트되도록 [Hanselman& # 39, s 비디오] (http://channel9.msdn.com/Events/MIX/MIX10/FT07) 를 내 사전 설명.

내가 하이케드 동의한다. 나는 내 사이트 구축 / 블로그 MVC 프레임워크 및 갔던 함께 현재 사용하는 간단한 외곽진입 만들기 위한 새로운 보기입니다 RSS:

<%@ Page ContentType="application/rss+xml" Language="C#" AutoEventWireup="true" CodeBehind="PostRSS.aspx.cs" Inherits="rr.web.Views.Blog.PostRSS" %><?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>ricky rosario's blog</title>
<link>http://<%= Request.Url.Host %></link>
<description>Blog RSS feed for rickyrosario.com</description>
<lastBuildDate><%= ViewData.Model.First().DatePublished.Value.ToUniversalTime().ToString("r") %></lastBuildDate>
<language>en-us</language>
<% foreach (Post p in ViewData.Model) { %>
    <item>
    <title><%= Html.Encode(p.Title) %></title>
    <link>http://<%= Request.Url.Host + Url.Action("ViewPostByName", new RouteValueDictionary(new { name = p.Name })) %></link>
    <guid>http://<%= Request.Url.Host + Url.Action("ViewPostByName", new RouteValueDictionary(new { name = p.Name })) %></guid>
    <pubDate><%= p.DatePublished.Value.ToUniversalTime().ToString("r") %></pubDate>
    <description><%= Html.Encode(p.Content) %></description>
    </item>
<% } %>
</channel>
</rss>

자세한 내용은 체크아웃하려고 (뻔뻔한 꽂으십시오) http://rickyrosario.com/blog/creating-an-rss-feed-in-asp-net-mvc

Ricky
Anthony Johnston
그는 10년 전 댓글을 달았습니다
4

자르기 위한 사용: @model 페이지모델 @ = {레스폰지스콘텐티페 application/rss+xml&quot ";; } = &quot, xml 버전을 &lt 1.0";? 인코딩입니다 = &quot UTF-8"; &gt,?

Paul
그는 9년 전 댓글을 달았습니다
2

어떤 오버헤드에? 그러니까 사실을 you& # 39, re 먹어서나 위해 더 적은 코드 같은 것을 하고 읽을 수 있는 방법은?

미친 외곽진입 않았지만, 다른 일반 이아스파스, RSS 렌더링하려는 보기 를 사용하는 것이 강점이다. 방금 설정한 방법, 작업 환경에서 해당 컨텐트를 유형:. 이 방식은 한 급여금 지정하십시오. 렌더링되고 추가하는 방법을 쉽게 이해할 수 있고 사용자 정의 등의 요소를 위치.

다시 한번 더, 그냥 # 39, t, 다른 외곽진입 나열되는지 haven& 저들이요 사용할 수도 있다. )

Brad Wilson
그는 12년 전 댓글을 달았습니다
3

@Haacked: The world is full of 잘못된 RSS 템플릿 시스템을 통해 생성된 XML. # 39, t 는 desktopplatforms don& 추가합니까 엉망하지! 리키 XML, HTML 인코딩! = 인코딩입니다.

Ricky
그는 12년 전 댓글을 달았습니다
0

다음은 Html 문서를 인코딩합니다 MSDN 에서: &gt. 이 기능은 현재 구현 세부 인해 표시됨과 스메렌코드 기능을 사용할 수 있습니다. 현재 모든 release. 엔티티에는 xml 이 기능을 사용하는 등도 미리 정의된 release. 엔티티에는. 이들은 &lt. &gt. &quot. &amp. 인코딩됩니다 &amp lt;; &amp, gt; &amp 크로트;; 및 &amp, amp;. 같은 다른 엔티티에는 소수점 인코딩되지 &amp, # 160;. [http://msdn.microsoft.com/en-us/library/73z22y6h.aspx] (http://msdn.microsoft.com/en-us/library/73z22y6h.aspx)

Paco
그는 12년 전 댓글을 달았습니다
0

어떻게 이렇게 유효한 XML 이 일을 하고 있는지? 니스 (nice) 에서 볼 수 없는 상황이고, xml 웹 요청을 할 경우 렌더링이 비연계 규칙수신되는 뷰 또는 전자 메일 템플리트가 그것을비유하사 수행되 루비 온 레일즈 폴링합니다.

Haacked
그는 12년 전 댓글을 달았습니다
0

악타이온레술트 레슬레술트 만들 수 있는 보기입니다 사용하지 않고 engine) 에서 유래되었다. 우리가 이 일을 함께 하는 직렬화할 제슨레술트 객체를 JSON. # 39 의 케이스에 you& 일부 찾을 수 있는 시리얼, d (WCF 는 생각한다) 한 직렬화할 많다.

내가 맡을게 에서 이 및 스콧 한스엘만 it& # 39 에 란 vid (지은 link) 의 다른 게시물 겨우 약간 다를 수 있지만, 그래서 여기에 도움됐네 및 rss 피드, 복사, 붙여넣기 준비됐어들 예로 기대해 본다.

[From my 블로그] [1]

에 란 이

using System;
using System.Collections.Generic;
using System.ServiceModel.Syndication;
using System.Web;
using System.Web.Mvc;
using System.Xml;

namespace MVC3JavaScript_3_2012.Rss
{
    public class RssFeed : FileResult
    {
        private Uri _currentUrl;
        private readonly string _title;
        private readonly string _description;
        private readonly List<SyndicationItem> _items;

        public RssFeed(string contentType, string title, string description, List<SyndicationItem> items)
            : base(contentType)
        {
            _title = title;
            _description = description;
            _items = items;
        }

        protected override void WriteFile(HttpResponseBase response)
        {
            var feed = new SyndicationFeed(title: this._title, description: _description, feedAlternateLink: _currentUrl,
                                           items: this._items);
            var formatter = new Rss20FeedFormatter(feed);
            using (var writer = XmlWriter.Create(response.Output))
            {
                formatter.WriteTo(writer);
            }
        }

        public override void ExecuteResult(ControllerContext context)
        {
            _currentUrl = context.RequestContext.HttpContext.Request.Url;
            base.ExecuteResult(context);
        }
    }
}

그리고 컨트롤러거 코드입니다.

    [HttpGet]
public ActionResult RssFeed()
{
    var items = new List<SyndicationItem>();
    for (int i = 0; i < 20; i++)
    {
        var item = new SyndicationItem()
        {
            Id = Guid.NewGuid().ToString(),
            Title = SyndicationContent.CreatePlaintextContent(String.Format("My Title {0}", Guid.NewGuid())),
            Content = SyndicationContent.CreateHtmlContent("Content The stuff."),
            PublishDate = DateTime.Now
        };
        item.Links.Add(SyndicationLink.CreateAlternateLink(new Uri("http://www.google.com")));//Nothing alternate about it. It is the MAIN link for the item.
        items.Add(item);
    }

    return new RssFeed(title: "Greatness",
                       items: items,
                       contentType: "application/rss+xml",
                       description: String.Format("Sooper Dooper {0}", Guid.NewGuid()));

}

[1]: http://achadwick.com/Blog/Result/MVC% 20rss% 20feed