AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) Metode

Definisi

Membuat sumber daya Entri baru dalam koleksi yang ditentukan. Uri koleksi untuk membuat sumber daya baru dapat ditemukan dari objek ResourceCollection yang diambil dari metode RetrieveResourceAsync .

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)

Parameter

uri
Uri Uri

Uri koleksi yang ditentukan tempat sumber daya baru harus dibuat.

description
String

Platform::String

winrt::hstring

Deskripsi sumber daya baru yang diubah menjadi header Slug: dari permintaan POST.

item
SyndicationItem

Sumber daya baru yang akan dibuat.

Mengembalikan

Objek yang digunakan untuk membuat sumber daya secara asinkron dan untuk melaporkan status kemajuan dan penyelesaian operasi.

Atribut

Contoh

Kode berikut menunjukkan cara mengakses dokumen layanan dan mengambil nilai edit URI. Untuk contoh tambahan tentang bagaimana AtomPub dapat digunakan untuk mengelola konten umpan, unduh sampel 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>";
    }
}

Catatan

Lihat RetrieveServiceDocumentAsync untuk kode di balik fungsi findEditUri yang disebut dalam contoh ini.

Berlaku untuk

Lihat juga