веб-сервисы, веб-приложение

что такое веб-сервисы (Rmi, ejb, мыло)? каково различие между веб-сервисами и веб-приложением? Действительно ли возможно реализовать веб-сервисы в веб-приложении?

6
задан Pratyusha Terli 4 October 2012 в 04:41
поделиться

2 ответа

Если сочетания клавиш являются наиболее важной частью, то я бы предложил показать документы Google - они даже перезаписывают cmd + s своим действием сохранения, несомненно, впечатлили меня при первом использовании.

-121--2459725-

Ваш вопрос действительно вызвал мой интерес, поэтому я сделал несколько чтений за последний час или около того. Я не абсолютно уверен, что нашел ответ, но я выброшу его туда, чтобы увидеть, что вы думаете.

Из того, что я прочитал до сих пор, Request.QuureString на самом деле является «проанализированной версией переменной QUERY_STRING в коллекции ServerVariables» [ссылка] , где Request.Url является (как вы заявили) необработанным URL, инкапсулированным в объект URI. Согласно этой статье , конструктор класса Uri «...» анализирует [строку url], помещает её в канонический формат и делает любые требуемые кодировки escape «».

Поэтому представляется, что Request.QuireString использует другую функцию для синтаксического анализа переменной «QUERY_STRING» из конструктора ServerVariables. Это объясняет, почему вы видите разницу между ними. Теперь, почему различные методы кодирования используются пользовательской функцией синтаксического анализа, и функция синтаксического анализа объекта URI полностью вне меня. Может быть, кто-то немного больше разбирается в aspnet_isapi DLL может дать некоторые ответы с этим вопросом.

В любом случае, надеюсь, мой пост имеет смысл. С другой стороны, я хотел бы добавить еще одну ссылку, которая также предусматривала очень тщательное и интересное прочтение: http://download.microsoft.com/download/6/c/a/6ca715c5-2095-4eec-a56f-a5ee904a1387/Ch-12_HTTP_Request_Context.pdf

-121--3500302-

Веб-служба - это способ передачи/предоставления информации таким образом, чтобы клиент веб-службы, который может быть создан в серверном сценарии или из автономной программы, мог вызывать службу для того, что он хочет, используя методы и функции, определенные службой.

Одно из преимуществ веб-сервиса заключается в том, что он абстрагирует эти методы и функции (и типы переменных) таким образом, что любой язык, который «говорит» веб-сервисы могут использовать свой собственный синтаксис для взаимодействия с сервисом (что делает его перекрестным).

Другое преимущество заключается в том, что он использует протокол HTTP (обычно передается через XML или JSON, но не обязательно), поэтому он также является кроссплатформенным.

Огромное преимущество заключается в том, что приложение, которое обычно требует очень конкретных знаний и программного обеспечения, может «раскрыть» информацию через веб-сервис. Таким образом, если корпоративный мейнфрейм содержит множество сверхсекретных данных, для получения которых обычно требуется терминальный клиент и т.д., то доступ к определенным данным можно получить через веб-службу, чтобы можно было загрузить и загрузить изменения табеля учета рабочего времени из веб- сайта.

Веб-приложение может включать веб-службу, но это не одно и то же. Можно создать веб-службу с помощью PHP или .NET, а затем создать веб-приложение, написанное на любом языковом интерфейсе с этой службой, но веб-приложение, как правило, является интерфейсом для сайта, на котором вы находитесь.в то время как веб-служба собирается получать информацию из других приложений (веб или нет).

3
ответ дан 17 December 2019 в 02:28
поделиться

Тило точно прибил разницу... COUNT (column_name) может возвращать меньшее число, чем COUNT (*) , если column _ name может иметь значение NULL .

Однако, если я могу взять несколько другой ракурс при ответе на ваш вопрос, так как вы, кажется, фокусируетесь на производительности.

Во-первых, обратите внимание, что выдача таблицы SELECT COUNT (*) FROM; потенциально заблокирует записи, и она также будет заблокирована другими читателями/писателями, если вы не изменили уровень изоляции (коленный толчок, как правило, WITH (NOLOCK) , но я вижу многообещающее количество людей, наконец, начинающих Это означает, что пока вы читаете данные, чтобы получить ваш «точный» подсчет, все эти DML запросы накапливаются, и когда вы, наконец, разблокировали все ваши блокировки, шлюзы открываются, происходит куча операций вставки/обновления/удаления, и идет ваш «точный» подсчет.

Если вам требуется абсолютно согласованное и точное число строк (даже если оно действительно только в течение миллисекунд, чтобы вернуть вам число), то SELECT COUNT (*) является единственным выбором.

С другой стороны, если вы пытаетесь получить 99,9% точную балалайку, вам гораздо лучше получить такой запрос:

SELECT row_count = SUM(row_count)
  FROM sys.dm_db_partition_stats
  WHERE [object_id] = OBJECT_ID('dbo.Table')
  AND index_id IN (0,1);

(Значение SUM используется для учета секционированных таблиц. Если секционирование таблиц не используется, его можно исключить.)

Этот DMV поддерживает точные счетчики строк для таблиц, за исключением строк, которые в настоящее время участвуют в транзакциях - и именно эти транзакции заставят запрос SELECT COUNT подождать (и в конечном итоге сделать его неточным, прежде чем вы успеете прочитать его). Но в противном случае это приведет к гораздо более быстрому ответу, чем предложенный вами запрос, и не менее точному, чем использование WITH (NOLOCK) .

-121--2263947-

GotW # 76 содержит увлекательные сведения о том, как сделать некоторые из этих вещей.: -)

-121--3223108-

Веб-приложение - Клиент-сервер с HTTP, HTML

Веб-служба - Сервер-сервер с HTTP, SOAP, XML

1
ответ дан 17 December 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: