Partager via


AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) Méthode

Définition

Crée une ressource Entry dans la collection spécifiée. Uri de la collection dans laquelle créer la ressource peut être découvert à partir de l’objet ResourceCollection récupéré à partir de la méthode 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)

Paramètres

uri
Uri Uri

URI de la collection spécifiée dans laquelle la nouvelle ressource doit être créée.

description
String

Platform::String

winrt::hstring

Description de la nouvelle ressource transformée en l’en-tête Slug : de la requête POST.

item
SyndicationItem

Nouvelle ressource à créer.

Retours

Objet utilisé pour créer la ressource de manière asynchrone et pour signaler la progression et l’achèvement status de l’opération.

Attributs

Exemples

Le code suivant montre comment accéder à un document de service et récupérer les valeurs d’URI de modification. Pour obtenir d’autres exemples d’utilisation d’AtomPub pour gérer le contenu du flux, téléchargez l’exemple 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>";
    }
}

Notes

Consultez RetrieveServiceDocumentAsync pour obtenir le code derrière la fonction findEditUri appelée dans cet exemple.

S’applique à

Voir aussi