{"id":1220,"date":"2021-01-05T15:12:35","date_gmt":"2021-01-05T15:12:35","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?p=1220"},"modified":"2021-05-19T06:16:45","modified_gmt":"2021-05-19T06:16:45","slug":"wcf-alternatives-part-1","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/","title":{"rendered":"WCF Alternatives (Part 1) \u2013 Introduction"},"content":{"rendered":"\n<p>The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. It was introduced with the .NET Framework 3.0 in 2006, replacing .NET Remoting. With WCF, the various aspects of distributed communications are logically separated, and different communication technologies are combined into a standardized programming interface. This makes it possible to focus on the business logic without having to deal with the connection of the different communication technologies.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The structure of WCF<\/strong><\/h2>\n\n\n\n<p>The following communication technologies were unified with the release of WCF.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img decoding=\"async\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies-600x338.png\" alt=\"WCF alternatives\" class=\"wp-image-1980\"\/><figcaption><em>Figure 1: Unified communication technologies<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The structure of a WCF application is based on three questions (where, how, what).<\/p>\n\n\n\n<p>The first question, <strong>\u201cWhere\u201d<\/strong>, describes the address at which the application can be found in order to communicate with it, e. g.:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>http:\/\/localhost:81\/DataInputService<\/li><li>net.tcp:\/\/localhost:82\/TcpDataInputService<\/li><li>net.pipe:\/\/localhost\/PipeDataInputService<\/li><li>net.msmq:\/\/localhost\/MsMqDataInputService<\/li><\/ul>\n\n\n\n<p>The second question, <strong>\u201cHow\u201d<\/strong>, describes which protocols and which encoding, the so-called bindings, are to be used for the communication. They are defined in the *.config of the application, allowing them to be modified at any time without the need to recreate the application. WCF supports nine different bindings:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Basic Binding (BasicHttpBinding)<\/li><li>TCP Binding (NetTcpBinding)<\/li><li>Peer Network Binding (NetPeerTcpBinding)<\/li><li>IPC Binding (NetNamedPipeBinding)<\/li><li>Web Service Binding (WSHttpBinding)<\/li><li>Federated WS Binding (WSFederationHttpBinding)<\/li><li>Duplex WS Binding (WSDualHttpBinding)<\/li><li>MSMQ Binding (NetMsmqBinding)<\/li><li>MSMQ Integration Binding (MsmqIntegrationBinding) <strong>&nbsp;<\/strong><\/li><\/ul>\n\n\n\n<p>The last question, <strong>\u201cWhat\u201d<\/strong>, uses various contracts to define the endpoints and data types to be provided. The endpoints are defined by ServiceContracts, and the data types by DataContracts.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><em>Example of a WCF ServiceContract and DataContract<\/em>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[ServiceContract]\npublic interface IDataInputService\n{\n    [OperationContract]\n    int CreateUser(User user);\n \n    [OperationContract]\n    int Login(User user);\n \n    [OperationContract]\n    List&lt;Time> GetTimes(int userId);\n \n    [OperationContract]\n    void AddTime(Time time, int userId);\n \n    [OperationContract]\n    List&lt;string> Projects();\n}\n \n[DataContract]\npublic class User\n{\n    [DataMember]\n    public string Name { get; set; }\n \n    [DataMember]\n    public string Passwort { get; set; }\n}\n \n[DataContract]\npublic class Time\n{\n    [DataMember]\n    public DateTime Start { get; set; }\n \n    [DataMember]\n    public DateTime End { get; set; }\n \n    [DataMember]\n    public string Project { get; set; }\n \n    [DataMember]\n    public int uId { get; set; }\n \n    [DataMember]\n    public int Id { get; set; }\n}<\/pre>\n\n\n\n<p>WCF is very popular because of its flexibility achieved with the separation and its versatility, which is why the platform is readily used in numerous projects.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Why is a migration necessary?<\/h2>\n\n\n\n<p>When .NET Core was first announced in 2016, WCF was already no longer included. WCF is not part of the subsequent .NET Core releases, including the most recent .NET 5.0.<\/p>\n\n\n\n<p>For Microsoft, the \u201cW\u201d in WCF, which stands for Windows, would probably be the greatest issue in porting. In order to do justice to .NET Core, a cross-platform solution would have to be found for this purpose. One of the problems in this context are the Windows-specific operating system libraries currently used, e.g. for Socket Layers or cryptography.<\/p>\n\n\n\n<p>Even though the developer community is asking for the integration of WCF in .NET Core, it is unlikely that Microsoft will provide this in the foreseeable future.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The future with gRPC and Web API<\/h2>\n\n\n\n<p>To make an existing project sustainable, or generally use the advantages of .NET Core, porting to .NET Core should be the aim. This is particularly useful for projects that are being actively and continuously developed. If WCF is used in a project, this poses an additional challenge in porting. First, an alternative needs to be found, and then a preparatory transition of WCF is required. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.<\/p>\n\n\n\n<p>We are going to present these two alternatives in a series of blog posts, discussing the respective particularities and challenges of the migration. More articles will follow shortly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework.  Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.<\/p>\n","protected":false},"author":105,"featured_media":1223,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[8,13],"tags":[637,638,24,203,629,630,633,634,636],"topics":[642],"class_list":["post-1220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web","category-dot-net","tag-distributed-application","tag-communication-platform","tag-microsoft","tag-editorschoice","tag-wcf","tag-windows-communication-foundation","tag-net-framework-3-0","tag-net-remoting","tag-distributed-communication","topics-wcf-alternatives"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-05T15:12:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-19T06:16:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1404\" \/>\n\t<meta property=\"og:image:height\" content=\"791\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Siebert\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Siebert\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/\",\"name\":\"WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"datePublished\":\"2021-01-05T15:12:35+00:00\",\"dateModified\":\"2021-05-19T06:16:45+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/6b51a72db3cce2762c3e7ba935cf25bf\"},\"description\":\"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png\",\"width\":1404,\"height\":791},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WCF Alternatives (Part 1) \u2013 Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/6b51a72db3cce2762c3e7ba935cf25bf\",\"name\":\"David Siebert\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/12\/siebert_david-e1607418544482-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/12\/siebert_david-e1607418544482-150x150.jpg\",\"caption\":\"David Siebert\"},\"description\":\"David Siebert is Senior Consultant Software Development at ZEISS Digital Innovation. His focus is primarily on .NET development. In addition, he is particularly involved with web technologies and clean code.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/endavidsiebert\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog","description":"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/","og_locale":"en_US","og_type":"article","og_title":"WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog","og_description":"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/","og_site_name":"Digital Innovation Blog","article_published_time":"2021-01-05T15:12:35+00:00","article_modified_time":"2021-05-19T06:16:45+00:00","og_image":[{"width":1404,"height":791,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","type":"image\/png"}],"author":"David Siebert","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Siebert","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/","name":"WCF Alternatives (Part 1) - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","datePublished":"2021-01-05T15:12:35+00:00","dateModified":"2021-05-19T06:16:45+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/6b51a72db3cce2762c3e7ba935cf25bf"},"description":"The Windows Communication Foundation (WCF) is a communication platform for the creation of distributed applications developed by Microsoft for the .NET Framework. Microsoft generally recommends two alternatives, gRPC and Web API, to replace WCF.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies.png","width":1404,"height":791},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wcf-alternatives-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/"},{"@type":"ListItem","position":2,"name":"WCF Alternatives (Part 1) \u2013 Introduction"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/6b51a72db3cce2762c3e7ba935cf25bf","name":"David Siebert","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/12\/siebert_david-e1607418544482-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-content\/uploads\/sites\/3\/2020\/12\/siebert_david-e1607418544482-150x150.jpg","caption":"David Siebert"},"description":"David Siebert is Senior Consultant Software Development at ZEISS Digital Innovation. His focus is primarily on .NET development. In addition, he is particularly involved with web technologies and clean code.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/endavidsiebert\/"}]}},"author_meta":{"display_name":"David Siebert","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/author\/endavidsiebert\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2021\/01\/202101_WCF_communication_technologies-600x338.png","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Web<\/span>","<span class=\"advgb-post-tax-term\">.NET<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">distributed application<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">communication platform<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Microsoft<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">WCF<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">Windows Communication Foundation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET Framework 3.0<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">.NET Remoting<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/category\/dot-net\/\" class=\"advgb-post-tax-term\">distributed communication<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">distributed application<\/span>","<span class=\"advgb-post-tax-term\">communication platform<\/span>","<span class=\"advgb-post-tax-term\">Microsoft<\/span>","<span class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/span>","<span class=\"advgb-post-tax-term\">WCF<\/span>","<span class=\"advgb-post-tax-term\">Windows Communication Foundation<\/span>","<span class=\"advgb-post-tax-term\">.NET Framework 3.0<\/span>","<span class=\"advgb-post-tax-term\">.NET Remoting<\/span>","<span class=\"advgb-post-tax-term\">distributed communication<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 5 years ago","modified":"Updated 5 years ago"},"absolute_dates":{"created":"Posted on January 5, 2021","modified":"Updated on May 19, 2021"},"absolute_dates_time":{"created":"Posted on January 5, 2021 3:12 pm","modified":"Updated on May 19, 2021 6:16 am"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/1220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/users\/105"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/comments?post=1220"}],"version-history":[{"count":6,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/1220\/revisions"}],"predecessor-version":[{"id":1288,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/posts\/1220\/revisions\/1288"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/media\/1223"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/media?parent=1220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/categories?post=1220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/tags?post=1220"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/en\/wp-json\/wp\/v2\/topics?post=1220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}