다음을 통해 공유


AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) 메서드

정의

지정된 컬렉션에 새 Entry 리소스를 만듭니다. 새 리소스를 만들 컬렉션의 Uri는 RetrieveResourceAsync 메서드에서 검색된 ResourceCollection 개체에서 검색할 수 있습니다.

public:
 virtual IAsyncOperationWithProgress<SyndicationItem ^, TransferProgress> ^ CreateResourceAsync(Uri ^ uri, Platform::String ^ description, SyndicationItem ^ item) = CreateResourceAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<SyndicationItem, TransferProgress> CreateResourceAsync(Uri const& uri, winrt::hstring const& description, SyndicationItem const& item);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<SyndicationItem,TransferProgress> CreateResourceAsync(System.Uri uri, string description, SyndicationItem item);
function createResourceAsync(uri, description, item)
Public Function CreateResourceAsync (uri As Uri, description As String, item As SyndicationItem) As IAsyncOperationWithProgress(Of SyndicationItem, TransferProgress)

매개 변수

uri
Uri Uri

새 리소스를 만들어야 하는 지정된 컬렉션의 URI입니다.

description
String

Platform::String

winrt::hstring

POST 요청의 슬러그: 헤더로 전환된 새 리소스에 대한 설명입니다.

item
SyndicationItem

만들 새 리소스입니다.

반환

리소스를 비동기적으로 만들고 작업의 진행률 및 완료 상태 보고하는 데 사용되는 개체입니다.

특성

예제

다음 코드에서는 서비스 문서에 액세스하고 편집 URI 값을 검색하는 방법을 보여 줍니다. AtomPub를 사용하여 피드 콘텐츠를 관리하는 방법에 대한 추가 예제를 보려면 AtomPub 샘플을 다운로드합니다.

function createResource() {
    try {
        // Refresh client in case server url or credential have changed.
        createClient();

        var title = document.getElementById("titleField").value;
        if (title === "") {
            outputField.innerHTML = "Post title cannot be blank";
            return;
        }

        var serviceUri = new Windows.Foundation.Uri(document.getElementById("serviceAddressField").value.trim() + defaultServiceDocUri);
        outputField.innerHTML = "Fetching service document: " + serviceUri.absoluteUri + "</br>";
        findEditUri(serviceUri).then(function (resourceUri) {
            if (!resourceUri) {
                outputField.innerHTML += "Error: Edit uri not found in service document";
                return null;
            }

            outputField.innerHTML += "Uploading post: " + resourceUri.absoluteUri + "</br>";

            var item = new Windows.Web.Syndication.SyndicationItem();
            item.title = new Windows.Web.Syndication.SyndicationText(title, Windows.Web.Syndication.SyndicationTextType.text);
            var content = document.getElementById("bodyField").value;
            item.content = new Windows.Web.Syndication.SyndicationContent(content, Windows.Web.Syndication.SyndicationTextType.html);

            return client.createResourceAsync(resourceUri, item.title.text, item);
        }).done(function (result) {
            if (result) {
                outputField.innerHTML += "Posted at " + result.itemUri.absoluteUri + "</br>";
                outputField.innerHTML += "Complete</br>";
            }
        }, onError);
    }
    catch (ex) {
        outputField.innerHTML += "Exception:" + ex + "</br>";
    }
}

참고

이 예제에서 호출된 findEditUri 함수 뒤에 있는 코드는 RetrieveServiceDocumentAsync를 참조하세요.

적용 대상

추가 정보