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

Definición

Crea un nuevo recurso Entry en la colección especificada. El URI de la colección en la que se puede crear el nuevo recurso se puede detectar desde el objeto ResourceCollection recuperado del método 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)

Parámetros

uri
Uri Uri

URI de la colección especificada en la que se debe crear el nuevo recurso.

description
String

Platform::String

winrt::hstring

Descripción del nuevo recurso que se convierte en el encabezado Slug: de la solicitud POST.

item
SyndicationItem

Nuevo recurso que se va a crear.

Devoluciones

Objeto que se usa para crear el recurso de forma asincrónica y para notificar el progreso y el estado de finalización de la operación.

Atributos

Ejemplos

En el código siguiente se muestra cómo acceder a un documento de servicio y recuperar valores de URI de edición. Para obtener ejemplos adicionales de cómo se puede usar AtomPub para administrar el contenido de fuente, descargue el ejemplo 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>";
    }
}

Nota

Consulte RetrieveServiceDocumentAsync para obtener el código subyacente a la función findEditUri denominada en este ejemplo.

Se aplica a

Consulte también