Я не могу использовать провайдера типов на локальном хосте для Android-эмулятора.Я не могу использовать провайдера типов на локальном хосте для Android-эмулятора
Это не работает для меня при использовании поставщика типа F #, потому что TypeProvider устанавливает соединение во время разработки.
Тип Provider счастлив, когда я использую локальный
[<Literal>]
let JsonPath = "http://localhost:48213/api/cars"
type Repository = JsonProvider<JsonPath>
Однако я получаю соединение отказался при попытке использовать путь LOCALHOST. Подробности об этой ошибке можно найти here.
В результате, я считаю, что разрешение использовать альтернативный IP-адрес:
Тип поставщика не счастлив, когда я использую 10.0.2.2
Замена " localhost " с " 10.0.2.2 " по IP-адресу приводит к ошибке компиляции, связанной с TypeProvider, не устанавливающей соединение с обновленным IP-адресом.
Следующий код не будет компилироваться, когда я пытаюсь использовать «10.0.2.2» в качестве альтернативного IP (AKA: обходной), который является искомым IP для работы эмулятора:
[<Literal>] (* "10.0.2.2" is the workaround IP for local host *)
let JsonPath = "http://10.0.2.2:48213/api/cars"
type Repository = JsonProvider<JsonPath>
type Car = { Make:string ; Model:string }
let getCars() =
Repository.Load JsonPath
|> Array.toSeq
|> Seq.map(fun x -> { Make=x.Make ; Model=x.Model })
В заключение, как я могу получить доступ к файлу с помощью службы WebAPI, выполняемой на локальном компьютере, и до сих пор поддерживаю поддержку поставщика типов при выполнении провайдера типов на эмуляторе?
Thanks Stuart. Однако компилятор жалуется на время разработки при подключении «10.0.2.2». Следовательно, я думаю, что IP еще не существует до запуска эмулятора. –
У меня было это backward =) Итак, если вы используете localhost, чтобы заставить провайдера типа работать и компилироваться. Затем установите 'runtimeUri' то, что вы хотите во время выполнения. – Stuart
Спасибо. Я столкнулся с другой проблемой, в которой мой экран полностью черный, без данных. Но это отдельная проблема. –