Я работаю над созданием приложения WindowsPhone 8.1, и у меня возникают проблемы с получением клиентом доступа к базе данных. Я создал серверный проект, который отлично работает с помощью web api. Я могу запустить отладчик и добавить «/ api/entityName», чтобы вернуть список всех строк в этой таблице или только одну строку, если я укажу значение id. После много тестирования на стороне клиента, я думаю, что я определил свою ошибку: значение uri. Может ли кто-нибудь сказать мне, какое значение мне нужно передать в конструктор uri? Вот метод, который я использую в клиенте:C# HttpClient Значение Uri
public async void GetBars()
{
var uri = new Uri("http://localhost:20672/tables/bars"); //seems like this value is the problem
var httpClient = new HttpClient();
barsListBox.Items.Add("right before try starts");
// Always catch network exceptions for async methods
try
{
barsListBox.Items.Add("try started");
var result = await httpClient.GetStringAsync(uri); //never gets past this line. goes straight to finally
barsListBox.Items.Add("right before linq");
var queryAllBars =
from bar in result
select bar;
barsListBox.Items.Add("linq finished");
foreach (var bar in queryAllBars)
{
barsListBox.Items.Add(bar);
}
}
catch
{
// Details in ex.Message and ex.HResult.
}
finally
{
barsListBox.Items.Add("finally executed");
httpClient.Dispose();
}
}
База данных представляет собой базу данных SQL Server приютили на Azure. Я попытался использовать URL-адрес, указанный для базы данных в Azure, мой текущий IP-адрес, почти каждую комбинацию использования/исключая номер порта и т. Д., Но ничего не работает. Я не получаю никаких ошибок, но я также не получаю ничего отображаемого в пользовательском интерфейсе (за исключением заявлений тестирования, которые я ввел). Попробуйте начать печатать, но прямо перед linq нет, поэтому я считаю, что моя проблема исходит из значения uri, передаваемого int GetStringAsync. Спасибо за помощь.
Результатом является 'HttpResponseMessage', вы не можете использовать LINQ с этим видом объекта. Попробуйте проверить значение 'response.Content.ReadAsStringAsync();' – kiewic