Есть ли способ ответить на HTTP-сообщение на странице ASP? - PullRequest
0 голосов
/ 17 июня 2020

Мы разрабатываем платформу SMS-коммуникации для общения с нашими клиентами с помощью Twilio. У нас есть 30-50 человек, которым необходимо общаться с нашими 3500 клиентами. Запросы на отправку сообщений помещаются в таблицу SQL, и приложение VB. NET принимает эти сообщения и отправляет их через Twilio. API получает обновления / ответы / изменения статуса Twilio и отправляет их в таблицу SQL. API находится «снаружи» (с точки зрения безопасности) рядом с нашим веб-сервером, а не в нашей внутренней сети. Приложение VB. NET находится внутри. Затем у нас есть страница «чата» ASP (внутри), которую представители и диспетчеры могут использовать для связи с клиентами.

Теперь мой вопрос. Страница ASP читает разговоры для определенных c телефонных номеров из таблицы SQL. Я не могу связать API напрямую со страницей ASP, поскольку страница ASP находится в нашей внутренней сети, а API находится «снаружи», чтобы удовлетворить требования безопасности. Итак, в настоящее время у меня есть приложение VB. NET, которое отправляет HTTP-запрос POST на веб-страницу, чтобы сигнализировать о новом сообщении или изменении статуса. Сообщение содержит задействованные номера телефонов, поэтому отвечать могут только страницы с правильным разговором. Страница ASP получает POST и правильно считывает данные, но я не могу заставить ее вызвать событие. В идеале я должен был бы, чтобы POST запускал событие, чтобы обновить sh разговор. Используя отладчик, я могу видеть, как код выполняет движения, но данные не обновляются. Я предполагаю, что это связано с тем, что POST направлен на страницу ASP, а не на сервер. Javascript похоже, не знает, что это сообщение произошло, поэтому я не могу вызвать событие и с Javascript.

Вот код сообщения из приложения VB. NET :

wc = New WebClient()
Dim resp = wc.UploadValues(Chat_URL & url_suffix, "POST", keys)

Вот код на странице ASP, чтобы попытаться поймать сообщение

 If Request.HttpMethod = "POST" And Not Request.Form("posttime") Is Nothing Then
    Dim post_jf_phone As String = ""
    Dim post_cust_phone As String = ""

    If Not Request.Form("jfphone") Is Nothing Then
        post_jf_phone = "+" & Request.Form("jfphone").Trim
    End If
    If Not Request.Form("custphone") Is Nothing Then
        post_cust_phone = "+" & Request.Form("custphone").Trim
    End If

    'If these are the numbers we're viewing...
    If post_cust_phone = TxtCustPhone.Text And post_jf_phone = TxtJFPhone.Text Then
        Load_Data(TxtCustPhone.Text)
    End If
End If

В событии загрузки начальной формы функция Load_Data работает отлично, но ничего не происходит когда он запускается из HTTP POST. Я пробовал Response.Redirect и Server.TransferRequest, чтобы перезагрузить страницу, но они тоже не работают.

Извините за то, что вы здесь многословен, но любые мысли будут признательны.

...