{"id":142,"date":"2020-11-03T23:13:21","date_gmt":"2020-11-03T21:13:21","guid":{"rendered":"https:\/\/www.gccdat.be\/main\/?p=142"},"modified":"2021-03-05T23:48:37","modified_gmt":"2021-03-05T21:48:37","slug":"c-en-web-reference-vs-service-reference","status":"publish","type":"post","link":"https:\/\/www.gccdat.be\/main\/2020\/11\/03\/c-en-web-reference-vs-service-reference\/","title":{"rendered":"C# en Web Reference vs. Service Reference"},"content":{"rendered":"\n<p>Er zijn nog steeds verschillende mensen die verward raken door het verschil van deze 2 manieren om een webservice te gebruiken in een visual studio C# applicatie.<\/p>\n\n\n\n<p><strong>Add Web Reference<\/strong>: de &#8216;oude&#8217; manier van werken, gebruik makende van de XmlSerializer. De gegenereerde code is in vele projecten bruikbaar (Web App, Web Site, Console toepassing, winforms toepassing&#8230;)<\/p>\n\n\n\n<p><strong>Add Service Reference:<\/strong> de nieuwere manier van werken die een WCF service reference toevoegd. Dit is &#8216;moderner&#8217; en geeft je meer mogelijkheden om in te grijpen in de communciatielaag.<\/p>\n\n\n\n<p>Het gebruik van de code is op de &#8216;oude&#8217; manier iets eenvoudiger. Echter is dat een afweging tegen de nieuwe mogelijkheden.<br><\/p>\n\n\n\n<p>Voorbeeld nieuwe code (servicereference):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>binding.Name = \"mve1\";\nbinding.Security.Mode = BasicHttpsSecurityMode.Transport;\nbinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;\n\nUri baseAddress = new Uri(\"https:\/\/xxxxxxxxx.aca.nl:1111\/Instance\/WS\/Webshop%20XPRT\/Codeunit\/ICSGeneral\");\nEndpointAddress addr = new EndpointAddress(baseAddress);\n\nvar client = new ICSGeneral.CSGeneral_PortClient(binding, addr);\n           System.ServiceModel.Security.UserNamePasswordClientCredential cre = client.ClientCredentials.UserName;\ncre.UserName = @\"uuuuuuuuuuu\";\ncre.Password = \"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\";\n\nstring result = client.GetItemVariantInfoByCrossRef(\"2013111427275\", \"90-CM\", true, true);\nMessageBox.Show(result);<\/code><\/pre>\n\n\n\n<p>Voorbeeld oude code (webreference)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>TestDmaCall.ICSGeneral ws = new TestDmaCall.ICSGeneral();\nws.Credentials = new System.Net.NetworkCredential(\"userid\", \"passwordtoken\");\nws.Url =  https:\/\/xxxxxxxxx.aca.nl:1111\/Instance\/WS\/Webshop%20XPRT\/Codeunit\/ICSGeneral\";        \nstring result = ws.GetItemVariantInfoByCrossRef(\"2013111427275\", \"90-CM\", true, true);\nMessageBox.Show(result);<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Er zijn nog steeds verschillende mensen die verward raken door het verschil van deze 2 manieren om een webservice te gebruiken in een visual studio C# applicatie. Add Web Reference: de &#8216;oude&#8217; manier van werken, gebruik makende van de XmlSerializer. De gegenereerde code is in vele projecten bruikbaar (Web App, Web Site, Console toepassing, winforms&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3],"tags":[35,32,34,33,31],"class_list":["post-142","post","type-post","status-publish","format-standard","hentry","category-development","category-dynamics-nav-business-central","tag-c","tag-call-business-central","tag-nav","tag-soap-service","tag-webreference"],"_links":{"self":[{"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/posts\/142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/comments?post=142"}],"version-history":[{"count":1,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/posts\/142\/revisions"}],"predecessor-version":[{"id":143,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/posts\/142\/revisions\/143"}],"wp:attachment":[{"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/categories?post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gccdat.be\/main\/wp-json\/wp\/v2\/tags?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}