ciao alka.

ad essere sincero questo meccanismo mi mette un pò difficoltà.

allora, questa la classe col metodo "originario":
codice:
namespace Book.Services
{
    public class MockDataStore : IDataStore<Item>
    {
        List<Item> items;
        private string remoteFile = "";

        public MockDataStore(string remoteFile)
        {
            items = new List<Item>();
            this.remoteFile = remoteFile;
        }

        public async Task<dynamic> AddItemAsync(Item item)
        {
            HttpClient client = new HttpClient();
            var uri = new Uri(Costanti.addBook);
            string json = JsonConvert.SerializeObject(item);
            var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
            HttpResponseMessage response = await client.PostAsync(uri, content);
            String responseJson = await response.Content.ReadAsStringAsync();
            return Task.FromResult<dynamic>(responseJson);
        }
    }
}
poi richiamo tutto così al click del bottone:
codice:
        void OnButton_Clicked(object sender, EventArgs args)
        {
            Item book = new Item();
            book.Title = Titolo.Text;
            MockDataStore mds = new MockDataStore(Costanti.addBook);
            Console.WriteLine(mds.AddItemAsync(book));
        }
ed ottengo un bel:
codice:
System.Threading.Tasks.Task`1[System.Object]
quello che non ho capito è come posso usare la risposta del server.