Каково различие между веб-методом asp.net и wcf сервисом?

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

56
задан John Saunders 22 May 2013 в 21:49
поделиться

8 ответов

веб-сервисы ASP.NET были разработаны для того, чтобы создать приложения, которые отправляют и получают сообщения при помощи Простого протокола доступа к объектам (SOAP) по HTTP.

WCF для того, чтобы позволять приложения Платформы.NET обмениваться сообщениями с другими объектами программного обеспечения. SOAP используется по умолчанию, но сообщения могут быть в любом формате, и переданы при помощи любого транспортного протокола.

можно просмотреть веб-сервисы ASP.NET как подмножество сервисов WCF.

Здесь ссылка, сравнивающая эти две платформы.

43
ответ дан Jorge Villuendas Zapatero 26 November 2019 в 17:24
поделиться

довольно легко знать различия.

веб-Метод ASP.NET называют ASMX [из-за расширения файла] (проверка 4GuysFromRolla об этом, они имеют хорошее учебное руководство )

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

[Примечание] можно защитить доступ к веб-сервису с помощью сертификатов, но это сложно, но обычно в ASMX, мы используем имя пользователя / пароль.

в WCF, Вы находитесь в различном мире о веб-сервисах, и этот s лучшая технология в.NET для представления Сервисов ( может Вы видеть различие... Сервисы ! не веб-сервисы ), WCF не нужен IIS для выполнения, это может работать как Системная служба на сервере, с помощью консольной окружающей среды (как командная строка), и т.д., таким образом, мы говорим, что WCF является Сервис не веб-сервис. Помните, что ASMX нужен IIS для выполнения.

с WCF можно использовать SSL для шифрования коммуникации (чтобы сделать это в ASMX, который необходимо использовать WSE - Улучшения веб-сервисов), можно отправить большие файлы и надежно (чтобы сделать это в ASMX, который необходимо использовать MTOM - Механизм Оптимизации Передачи сообщений).

можно установить предпочтения передачи, просто изменяющие одну строку кода, безопасность намного выше, и т.д., и т.д.:)

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

нижняя строка: для представления веб-сервисов, которые Вы не должны защищать можно использовать ASMX, без проблем вообще, но если необходимо защитить коммуникацию так или иначе, сделать это в WCF!

ссылка : можно считать здесь некоторую производительность, сравнительную между этими 2 сервисами

28
ответ дан balexandre 26 November 2019 в 17:24
поделиться

Они - две различных платформы для записи сервисов. WCF обычно более гибок и предоставляет настраиваемые возможности для того, какие протоколы используются, как сервис размещается и множество параметров безопасности. ASMX предлагает основанные на SOAP услуги. Обычно WCF - также больше производительный . В общем ASMX легче использовать и обычно имеет меньше кривой обучения.

Здесь обсуждение форума MSDN темы. Вот начинающие страницы для ASMX и WCF.

9
ответ дан smaclell 26 November 2019 в 17:24
поделиться

В дополнение к вышеупомянутым ответам WCF был создан для замены Дистанционной работы.NET в.NET 3.0 и вне. В дополнение к SOAP, REST, POX, и т.д. веб-сервисы в различных форматах (например, XML и JSON), WCF также предлагает MSMQ и Именованные каналы. ASMX, как упомянуто выше, обеспечивает только основанные на SOAP веб-сервисы XML.

необходимо было бы копаться в Дистанционная работа.NET для других типов протоколов связи. Для получения дополнительной информации необходимо проверить Pro C# 2008 и.NET 3.5 Платформы . Это - большой ресурс, и можно получить главы из предыдущих книг, которые касаются Дистанционной работы.NET и других замененных функций.

7
ответ дан 26 November 2019 в 17:24
поделиться

Они - две разных вещи все вместе. WCF является более универсальной платформой, через которую можно записать, что один сервис вводит компонент и развертывает его во многих отношениях (как раз когда Asp. Сетевой веб-сервис).

Вот краткий поток об этом http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2d6a7ff2-f15c-4599-a389-a81cfffcc852/

1
ответ дан Vaibhav 26 November 2019 в 17:24
поделиться

У меня была та же проблема.

Я обнаружил, что книга Microsoft Windows Communication Foundation Step by Step действительно хороша.

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

Он написан для VS2005, но я ' m, используя vs2008, и обнаружил, что это стало еще проще.

В WCF есть гораздо больше, но эта книга - хорошее начало.

1
ответ дан 26 November 2019 в 17:24
поделиться

Вот новое, большое отличие: Microsoft теперь считает веб-службы ASMX «устаревшей» технологией. См. « Веб-службы XML, созданные с использованием клиентов веб-служб ASP.NET и XML ».

4
ответ дан 26 November 2019 в 17:24
поделиться

Веб-службы

  1. Доступ к нему возможен только через HTTP
  2. Он работает в среде без сохранения состояния

WCF

WCF является гибким, поскольку его службы могут размещаться в различных типах приложений. Ниже перечислены несколько распространенных сценариев размещения служб WCF:

  • IIS
  • WAS
  • Самостоятельный хостинг
  • Управляемая служба Windows
2
ответ дан 26 November 2019 в 17:24
поделиться
Другие вопросы по тегам:

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