UPD2 Установив на сервер tshark, поймал ошибку такую
38 282.396282475 91.108.6.58 → 192.168.1.98 TLSv1.2 992 [TCP Previous segment not captured] , Ignored Unknown Record При CallBack от ТГ.
Конец UPD2
UPD: Поднял ubuntu server, настроил nginx, получил сертификаты letsencrypt. Запустил приложение. Бот заработал, но опять CALLBACK не доходит до приложения. Делаю вывод, что проблема была не в IIS. Куда копать не понимаю. конец upd
Не могу развернуть бота на IIS.
Что имею:
.net core 3.1,
win server 2019 + iis
Написал код, для отладки использовал ngrok Tunell. Все устроило все работало в режиме отладки. Начал разворачивать на IIS. Установил SSL сертификат, настроил А запись. Бот запустился, заработал. На сообщения отвечает, до момента пока не начинается магия в виде CallBack вызовов, которые нужны для пролистывания галереи картинок.
Думал где то падает, добавил везде try/catch, где только можно. Не помогло. Решил сделать в лоб, просто ловить входящее сообщение и записывать его в файл.
[Route("api/message/update")]
public class MessageController : Controller
{
public Client client { get; set; }
[HttpGet]
public string Get()
{
return "123";
}
[HttpPost]
public async Task<OkResult> Post([FromBody]Update update)
{
try
{
var botClient = await Bot.GetBotClientAsync();
Bot.MyLogger(("InputMessage " + update.Id);
if (update.CallbackQuery != null)
{
try
{
var callbackQuery = update.CallbackQuery;
Bot.MyLogger("ExecuteCallbackMessage " + callbackQuery.Data);
await ExecuteCallbackMessage(callbackQuery, botClient);
return Ok();
}
catch (Exception ex)
{
Bot.MyLogger(ex.Message);
var t = ex;
return Ok();
}
}
else if (update == null) return Ok();
var message = update.Message;
client = new Client();
client.ChatId = (int)message.Chat.Id;
await ExecuteCommand(message, botClient);
return Ok();
}
catch (Exception ex)
{
Bot.MyLogger(ex.Message);
return Ok();
}
}
При обычной отправке сообщения из ТГ на строчке
Bot.MyLogger(("InputMessage " + update.Id);
происходит запись в файл следующего вида:
16.11.2020 20:13:21 InputMessage 417633691
Если делается CallBack вызов кнопки, то такое ощущение, что запрос не доходит вообще, потому что записи не делается никакой. Все бы хорошо, но в режиме отладки через ngrok - все работает как часы. Смотрел через WireShark - пакеты летят. Есть подозрение, что гонит сам IIS. Но почему - непонятно.
В общем спустя недели мучений я исправил это.
Дело было в значении MTU на роутере, которое было выставлено в размере 1500. Сменив значение на 1492 пакеты полетели нормально. Кто бы мог подумать...
Зато я поднял навыки в настройке nginx, повспоминал команды в терминале ubuntu. Научился стартовать приложения в линуксе, подымать их в качестве сервиса)))
upd
Стоит роутер zyxel keenetic II. После смены мту перестали открываться страницы в браузере. Проблема была в последней оф прошивке. Обновил её до не оф прошивки с 4пда. И все нормализовалось. Всем спасибо=)
Знаю, есть getBoundingClientRectЭта штука даёт возможность определить расстояние до краёв на странице, относительно опорного тега
Хочу узнать из функции которую вызвали, кто именно её вызвал, и чтобы можно было обращаться к этой функции и к её prototype
К примеру клиент обратился ко мне и просит чтобы я добавил для его сайта некоей функциональности или что-то другое не важно, как именно происходит...