Обновление: я загрузил проект Ramone, добавил его в свой проект, а затем снова запустил приложение с отладчиком. Ошибка показана ниже:
public MediaTypeWriterRegistration GetWriter (Type t, MediaType mediaType) {...
Запись CodecEntry = SelectWriters (t, mediaType) .FirstOrDefault (); => эта строка выдает ошибку
...} Ошибка в CodecManager.cs. Я пытаюсь понять, почему он не распознает тип носителя json-patch. Может быть, потому, что писатель не регистрируется правильно? Я изучаю это. Если вы выясните проблему, дайте мне знать. Поскольку вы являетесь автором библиотеки, вам будет легче разобраться в проблеме. Мне придется просмотреть все файлы кода и методы, чтобы найти проблему. Спасибо!
Мне было приятно узнать, что библиотека Ramone поддерживает операции json-patch, но когда я попробовал, у меня возникла следующая ошибка:
415- Неподдерживаемый тип носителя
Это та же ошибка, что и при использовании RestSharp. Я подумал, что может быть RestSharp не поддерживает json-patch и ошибки, поэтому я решил попробовать Ramone lib, но все равно получаю ту же ошибку. У конечной точки нет проблем, потому что, когда я пробую ту же команду с помощью Postman, она работает, но когда я пытаюсь ее программно на C #, она выдает ошибку неподдерживаемого типа носителя. Вот мой код:
var authenticator = new TokenProvider("gfdsfdsfdsafdsafsadfsdrj5o97jgvegh", "sadfdsafdsafdsfgfdhgfhehrerhgJ");
JsonPatchDocument patch = new JsonPatchDocument<MetaData>();
patch.Add("/Resident2", "Boyle");
//patch.Replace("/Resident", "Boyle");
RSession = RamoneConfiguration.NewSession(new Uri("https://api.box.com"));
RSession.DefaultRequestMediaType = MediaType.ApplicationJson;
RSession.DefaultResponseMediaType = MediaType.ApplicationJson;
Ramone.Request ramonerequest = RSession.Bind("/2.0/files/323433290812/metadata");
ramonerequest.Header("Authorization", "Bearer " + authenticator.GetAccessToken(code).AccessToken);
//var ramoneresponse = ramonerequest.Patch(patch); //results in error: 405 - Method Not Allowed
var ramoneresponse = ramonerequest.Put(patch); //results in error: 415 - Unsupported Media Type
var responsebody = ramoneresponse.Body
Информация о конечной точке доступна здесь: http://developers.box.com/metadata-api
В качестве ссылки я использовал раздел json-patch в следующей статье:
http://elfisk.dk/Ramone/Documentation/Ramone.pdf
Кстати, я попробовал метод Patch () (как показано в статье выше), но это привело к тому, что «Метод не разрешен», поэтому я использовал метод Put (), который, кажется, работает, но затем возникают ошибки из-за операции json-patch.
Мы будем очень благодарны за любую помощь, рекомендации, советы по решению этой проблемы. Заранее большое спасибо.
-Шам