Condividi tramite


AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) Metodo

Definizione

Crea una nuova risorsa Entry nella raccolta specificata. L'URI dell'insieme in cui creare la nuova risorsa può essere individuata dall'oggetto ResourceCollection recuperato dal metodo 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)

Parametri

uri
Uri Uri

Uri della raccolta specificata in cui deve essere creata la nuova risorsa.

description
String

Platform::String

winrt::hstring

Descrizione della nuova risorsa trasformata nell'intestazione Slug: della richiesta POST.

item
SyndicationItem

Nuova risorsa da creare.

Restituisce

Oggetto usato per creare la risorsa in modo asincrono e per segnalare lo stato di avanzamento e completamento dell'operazione.

Attributi

Esempio

Il codice seguente illustra come accedere a un documento del servizio e recuperare i valori dell'URI di modifica. Per altri esempi di come AtomPub può essere usato per gestire il contenuto del feed, scaricare l'esempio 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

Vedere RetrieveServiceDocumentAsync per il code behind della funzione findEditUri chiamata in questo esempio.

Si applica a

Vedi anche