Я пытался понять, как работают приложения на C # / .NET и UWP. В настоящее время я пытаюсь следовать этому руководству , чтобы завершить операции CRUD с моей базой данных. Пока все хорошо, но когда я прихожу к той части, где я хочу творить, я сталкиваюсь с некоторыми неприятностями. В приведенном ниже коде я создаю новый объект и пытаюсь опубликовать его в базе данных. Произведение в этом контексте - книга.
var newPiece = new Piece
{
PieceTitle = Title.Text,
PieceAuthor = Author.Text,
PieceIsbn = Isbn.Text,
PieceDescription = Description.Text
};
using (var client = new HttpClient())
{
var content = JsonConvert.SerializeObject(newPiece);
Task task = Task.Run(async () =>
{
var data = new HttpFormUrlEncodedContent(
new Dictionary<string, string>
{
["value"] = content
});
await client.PostAsync(App.BaseUri, data);
});
task.Wait();
}
Проблема здесь в том, что, поскольку я использую и HttpClient()
, и HttpFormUrlEncodedContent()
, VS говорит мне, что HttpClient()
является "неоднозначной ссылкой", и что мне нужно указать, принадлежит ли она System.Net.Http;
или Windows.Web.Http;
. Если я выберу System.Net.Http
, то это говорит мне, что Аргумент 1 в PostAsync()
" не может быть преобразован из 'System.Uri' в 'строку' ", и что Аргумент 2 " не может преобразовать из «Windows.Web.Http.HttpFormUrlEncodedContent» в «System.Net.Http.HttpContent»"
Если я попытаюсь разрешить HttpClient()
использовать Windows.Web.Http;
, то это не даст мне никаких ошибок при компиляции, но после того, как объект будет создан и опубликован, он отобразится как null в моих таблицах.