У меня есть веб-форма C# .net, которая делает простой ответ.write в формате контента JSON. Он отлично работает с каждым клиентом, с которым я его тестирую, включая вызов TinyWebDB API с телефона Android. Но не беспокойтесь об этом API для этого вопроса.C# .net System.Net.WebClient .. Серверная сторона или нет?
Я добавил код сервера для этой веб-формы, чтобы читать и очищать веб-страницу следующим образом.
System.Net.WebClient myWebClient = new System.Net.WebClient();
Stream myStream = myWebClient.OpenRead(what);
StreamReader sr = new StreamReader(myStream);
string s = sr.ReadToEnd();
У меня создается впечатление, что код - это все серверная сторона !?
Я протестировал страницу из IE, FF и Chrome .. все работает отлично. Однако, если я попытаюсь вызвать страницу веб-формы из TinyWebDB, вызов отлично работает, и я верну данные, но я получаю ошибку 404 на стороне сервера, прочитанной на веб-странице?
Это почти как если System.Net.WebClient требует что-то или что-то делает на самом клиенте. Я думал, что чтение страницы происходит на серверах и за кулисами на моем экране. Почему мой серверный код заботится о том, какой браузер или API инициировал вызов веб-формы?
Должен ли я использовать другой класс?
Большое спасибо.
Невозможно, чтобы он «делал что-то» на клиенте: код находится на сервере. Вы ошибаетесь, и проблема в другом - –
Дополнительная информация необходима. Есть ли что-то, возможно, строковая переменная запроса или веб-метод, который определяет, вызван ли этот код или нет? Поскольку он работает на стороне сервера, только детали реализации, подобные этим, могут вызывать различное поведение, если сервер тот же, но клиент отличается. – Kris
Я тоже так думаю. Я изолировал все и завернул вышеприведенный код в try/catch, возвращая его результаты в API. От всех клиентов я вижу, что вывод со страницы читает запрос на интерфейс tinyWebDB API. Это возвращает информацию. Удаленный сервер ответил на ошибку: (404) Не найдено. Я также вижу, что он пытался обработать, и он соответствует всем другим клиентам. – o365spo