Обучение
Модуль
Work with web services in Dynamics 365 Business Central - Training
Use SOAP and OData to read and update records, and handle UI interaction in Business Central.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Взаимодействие между веб-службами ASP.NET и веб-службами Windows Communication Foundation (WCF) можно обеспечить, гарантируя, что службы, реализованные с помощью обоих технологий, соответствуют спецификации WS-I Basic Profile 1.1. ASP.NET веб-службах, которые соответствуют базовому профилю WS-I 1.1, взаимодействуют с клиентами WCF с помощью предоставленной системой привязки BasicHttpBindingWCF.
Используйте параметр ASP.NET 2.0 для добавления WebService и WebMethodAttribute атрибутов в интерфейс, а не в класс и написания класса для реализации интерфейса, как показано в следующем примере кода.
[WebService]
public interface IEcho
{
[WebMethod]
string Echo(string input);
}
public class Service : IEcho
{
public string Echo(string input)
{
return input;
}
}
Использование этого варианта предпочтительно, так как интерфейс с атрибутом WebService составляет контракт для операций, выполняемых службой, доступный для повторного использования в различных классах, которые могут реализовывать этот же контракт другими способами.
Избегайте использования атрибута SoapDocumentServiceAttribute для маршрутизации сообщений методами по полному имени элемента текста сообщения протокола SOAP, а не по заголовку HTTP SOAPAction
. WCF использует SOAPAction
заголовок HTTP для маршрутизации сообщений.
XML-код, в который тип сериализуется сериализатором XmlSerializer, по умолчанию семантически идентичен XML-коду, в который тип сериализуется сериализатором DataContractSerializer, при условии, что пространство имен для XML задано явным образом. При определении типа данных для использования с ASP. Службы NETWeb в ожидании внедрения WCF сделайте следующее:
Задавайте тип с использованием классов .NET Framework, а не схемы XML.
Добавляйте в класс только атрибуты SerializableAttribute и XmlRootAttribute, используя последний для явного задания пространства имен для типа. Не добавляйте дополнительные атрибуты из пространства имен System.Xml.Serialization для задания способа преобразования класса .NET Framework в XML.
Используя этот подход, вы впоследствии сможете превратить классы .NET в контракты данных, добавив атрибуты DataContractAttribute и DataMemberAttribute, без значительного изменения XML-кода, в который классы сериализуются для передачи. Типы, используемые в сообщениях ASP.NET веб-службами, могут обрабатываться как контракты данных приложениями WCF, предоставляя, среди прочего, более высокую производительность в приложениях WCF.
Избегайте использования параметров проверки подлинности, предусмотренных в службах IIS. Клиенты WCF не поддерживают их. Если служба должна быть защищена, используйте параметры, предоставляемые WCF, так как эти параметры являются надежными и основаны на стандартных протоколах.
В платформа .NET Framework 3.0 wcF HttpModule
был установлен в корневом файле web.config, чтобы каждое ASP.NET приложение было включено WCF. Это может влиять на производительность, поэтому можно удалить ServiceModel
из файла Web.config, как показано в следующем примере.
<httpModules>
<remove name="ServiceModel" />
</httpModules>
Обучение
Модуль
Work with web services in Dynamics 365 Business Central - Training
Use SOAP and OData to read and update records, and handle UI interaction in Business Central.
Документация
Создание элемента привязки BindingElement - WCF
Дополнительные сведения: создание BindingElement
Взаимодействие с приложениями POX - WCF
Дополнительные сведения: взаимодействие с приложениями POX