Freigeben über


AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) Methode

Definition

Erstellt eine neue Eintragsressource in der angegebenen Auflistung. Der URI der Auflistung, in der die neue Ressource erstellt werden soll, kann aus dem ResourceCollection-Objekt ermittelt werden, das von der RetrieveResourceAsync-Methode abgerufen wurde.

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

Der URI der angegebenen Auflistung, in der die neue Ressource erstellt werden soll.

description
String

Platform::String

winrt::hstring

Die Beschreibung der neuen Ressource, die in den Slug:-Header der POST-Anforderung umgewandelt wird.

item
SyndicationItem

Die neue Ressource, die erstellt werden soll.

Gibt zurück

Das Objekt, das verwendet wird, um die Ressource asynchron zu erstellen und den Fortschritt und den Abschluss status des Vorgangs zu melden.

Attribute

Beispiele

Der folgende Code veranschaulicht, wie Sie auf ein Dienstdokument zugreifen und Bearbeitungs-URI-Werte abrufen. Weitere Beispiele für die Verwendung von AtomPub zum Verwalten von Feedinhalten finden Sie im AtomPub-Beispiel.

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>";
    }
}

Hinweis

Den Code hinter der findEditUri-Funktion, die in diesem Beispiel aufgerufen wird, finden Sie unter RetrieveServiceDocumentAsync.

Gilt für:

Weitere Informationen