Разница между AsyncGetToString и AsyncPostFromString? - PullRequest
2 голосов
/ 14 июня 2019

Я создаю один веб-API. и я звоню в светлом сценарии. Я имею в виду https://developer.roku.com/en-gb/docs/references/brightscript/interfaces/ifurltransfer.md#head-as-dynamic/ все методы, но не понимают, что никто не знает, как они используются в методах AsyncGetToString и AsyncPostFromString.

Я использую следующий код в Roku

readInternet = createObject("roUrlTransfer")
      readInternet.setUrl(url)
      readInternet.setport(m.port)

      readInternet.gettostring()
      timer = createobject("roTimeSpan")
      timer.Mark()
      readInternet.AsyncPostFromString() 'readInternet.AsyncGetToString

Но каждый раз запускается метод Get в My Roku Server.

здесь код сервера Roku (с использованием метода Get)

public string Get(int id)
{
            return "The vlaue is: " + id;
}

всегда вызывайте этот метод как (с использованием метода Post)

 [HttpPost] // OWIN - Open Web Interface for .NET
 public HttpResponseMessage Post([FromUri]string name, [FromUri]string pass) // Its use both FromBody (complex type from the query string) and FromUri(primitive type from the request body)
 {
      //return "UserName Details :" + name + pass;
      return Request.CreateResponse(HttpStatusCode.OK, name + " " + pass); //Using Post Method
 }

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 15 июня 2019

AsyncPostFromString() позволяет сделать асинхронный POST-запрос, который после его завершения отправит сообщение на связанный с ним порт сообщения (в данном случае m.port).

m.port = createObject("roMessagePort")
readInternet = createObject("roUrlTransfer")
readInternet.setUrl(url)
readInternet.setMessagePort(m.port)
if readInternet.asyncPostFromString("your_post_data_string") then
    msg = m.port.waitMessage(0)
    if type(msg) = "roUrlEvent" then
        print msg
    end if
end if

Это должно сделать правильный запрос POST к конечной точке вашего сервера. Обратите внимание, что вам нужно передать данные POST в качестве параметра в asyncPostFromString()

...