Laden...
Avatar #avatar-3295.gif
Benutzerbeschreibung
Speaker - Developer - Consultant - Trainer

Forenbeiträge von Coffeebean Ingesamt 2.207 Beiträge

09.08.2018 - 11:56 Uhr

Hallo Viperos,

ich habe jetzt einfach mal https://xmltocsharp.azurewebsites.net/ angeschmissen mit

<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"></s:Envelope>

und dein Code für xml1 sollte laut dem Tool so aussehen:

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace Xml2CSharp
{
	[XmlRoot(ElementName="Envelope", Namespace="http://schemas.xmlsoap.org/soap/envelope/")]
	public class Envelope {
		[XmlAttribute(AttributeName="s", Namespace="http://www.w3.org/2000/xmlns/")]
		public string S { get; set; }
		[XmlAttribute(AttributeName="encodingStyle", Namespace="http://schemas.xmlsoap.org/soap/envelope/")]
		public string EncodingStyle { get; set; }
	}

}

Gruss

Coffeebean

18.07.2018 - 15:49 Uhr

Hallo BlackSimon,

WinForms? WPF? Wie dem auch sei. Ich würde mal in die Doku schauen und dann mal nach sowas wie "checked" und "readonly" o.ä. suchen 😉

[Hinweis] Bitte schau in die SDK-/MSDN-Doku
https://msdn.microsoft.com/en-us/library/system.windows.forms.checkbox.checked(v=vs.110).aspx

Gruss

Coffeebean

16.07.2018 - 12:17 Uhr

In Absprache mit einem anderem Mod ist daher hier zu. Falls der TE eine konkrete Frage mit einem technischen Problem hat, kann er einfach einen neuen Thread eröffnen. Vielen Dank.

16.07.2018 - 12:07 Uhr

Hallo BlackSimon,

auf die Frage, "Was" genau eine Technologie macht oder was sie ist, kann man fast immer auf Artikel und/oder die Dokumentation verweisen. Das musst du den Helfern, egal welchem Forum, nachsehen. Wir könnten es dir auch erklären, aber besser als das Geschriebene können wir es sicher nicht. Dafür gibt es ja Links im Internet: Um auf Artikel zu verweisen.

Falls es konkrete Probleme gibt mit einer konkreten Fragestellung kann dir in einem Forum besser geholfen werden. Da haben wir dich gefragt, aber keine Antwort bekommen.

Bitte nimm keine Aussage hier persönlich, sondern sachlich. Daher ist es auch nicht angebracht

das zeugt von hoher Intelligenz.

persönlich zu werden.

Vielen Dank. Damit sollte das auch beendet sein.

[Hinweis] Wie poste ich richtig?

Gruss
Coffeebean

16.07.2018 - 10:29 Uhr

Hallo BlackSimon,

was hast du denn vor? Fangen wir doch mal so an.

Gruss

Coffeebean

16.07.2018 - 10:10 Uhr

Hallo BlackSimon,

naja, so ein bisschen suchen kann man ja 😃

https://www.microsoft.com/silverlight/

Silverlight ist aber veraltet. Das wird in normalen Projekten kaum noch eingesetzt.

Gruss

Coffeebean

10.07.2018 - 09:45 Uhr

Hallo _Cashisclay,

dazu solltest du dir mal anschauen, was static ist und was es macht. Es ist einfach alles immer vorhanden und jeder kann mit jedem. Das ist nicht das, was du in einer Software willst.

Ich müsste jetzt tatsächlich lange nachdenken um mich zu erinnern, wann ich das letzte mal structs benutzt habe.

Ich kann mich wie unconnected nicht daran erinnern, wann ich das letzte mal bewusst strucs verwendet habe und static dazu (Consolen Main Methoden (static) und Datetimes (struct) ausgenommen 😉

Gruss

Coffeebean

04.07.2018 - 15:47 Uhr

Hallo Michael S.,

Willkommen im Forum. Wieso kannst du dein XML nicht serialisieren und dann einfach mit dem Property arbeiten, was du brauchst?

Gruss

Coffeebean

28.06.2018 - 07:48 Uhr

Hallo Torni,

Wie greife ich auf den dritten "Parameter" zu ("saver") der im Array steht?

Du hast jetzt eine Liste vom Typ "SQLB". Wenn du etzt über die Liste iterierst oder via Index auf einen Eintrag zugreifst, hast du diesen Eintrag und kann einfach mit "." auf die Properties, also auch auf "saver" zugreifen.

Gruss

Coffeebean

26.06.2018 - 10:42 Uhr

Hey Davaaron.

schonmal https://github.com/luckylooke/dragular angeschaut?

Gruss

Coffeebean

22.06.2018 - 08:55 Uhr

Hallo max85,

ich bin mir nicht ganz sicher, was du machen willst, aber auf einer Listbox kannst du die Items mit listbox.Items.Add(...) hinzufügen.

Gruss

Coffeebean

22.06.2018 - 07:50 Uhr

Hallo MarcusS,

"XmlNodeType.Element" ist kein Titel. Ich habe ihn mal nach bestem Wissen und Gewissen geändert. Trifft er deine Anforderung nicht, ändere ihn bitte entsprechend. Danke.

Gruss

Coffeebean

12.06.2018 - 15:03 Uhr

Hallo Marccore,

dann mach dich erstmal mit den Grundlagen [FAQ] Wie finde ich den Einstieg in C#? vertraut, bevor du sowas anfängst. Und dann kannst du sicher auch mit den Beispielen etwas mehr anfangen.

Gruss

Coffeebean

12.06.2018 - 14:54 Uhr

Hallo Marccore,

für das Einlesen hast du ja schon Hinweise bekommen. Die einfach mal anschauen und dann bekommst du das schon hin. Die Links verweisen auf Github, da sind auch Samples für viele Applikationsarten dabei.

Hats du das schonmal probiert?

Gruss

Coffeebean

12.06.2018 - 14:49 Uhr

Hallo Marccore,

aber leider bin ich nicht so ein erfahrener C# Skripter und brauche etwas Hilfe.

Das ist gar kein Problem. Wir helfen dir gerne. Zeig doch mal was du schon auf die Beine gestellt hast und dann können wir dir helfen. Von 0 auf machen wir dir die Arbeit nicht. Hast du schon etwas Code?

Gruss

Coffeebean

12.06.2018 - 07:19 Uhr

Hallo RobAll,

ich verstehe nicht wirklich, was du machen willst.

Was meinst du mit

wie kann ich den Tabellen und Spaltenname implementieren ?

Kannst du mehr Kontext geben? Und bitte benutze keine ArrayList, sondern etwas aus dem System.Collections.Generic-Namespace.

Gruss

Coffeebean

06.06.2018 - 15:21 Uhr

Hallo CoderboyPB,

PS: Sorry, für den unglücklichen Threadnamen, aber wusste echt nicht, wie ich das sinnvoll benennen sollte.

genau so, wie du es im Beitrag beschrieben hast. Siehe veränderter Thread-Titel. Wenn er unpassend ist, bitte ersetze ihn einfach.

Gruss

Coffeebean

05.06.2018 - 08:42 Uhr

Warum sollte es durch den niedrigeren .NET Standard universeller einsetzbar sein als mit dem höchsten?
Warum sollte man sich noch mit alten Versionen aufhalten, wenn es bereits neuere Versionen gibt?
gerade da die neue .NET Core Version auch eine LTS Version wird, dürfte dies sinnvoller sein auf den aktuellen Standard zu setzen.

Aus https://docs.microsoft.com/en-us/dotnet/standard/net-standard

When choosing a .NET Standard version, you should consider this trade-off:

The higher the version, the more APIs are available to you.
The lower the version, the more platforms implement it.

In general, we recommend you to target the lowest version of .NET Standard possible. So, after you find the highest .NET Standard version you can target, follow these steps:

Musst halt schauen was für dich passt bzw was für dich wichtiger ist. Wobei der Standard 2.0 schon sehr viele Libs inkludiert.

Gruss

Coffeebean

05.06.2018 - 07:10 Uhr

Hallo blanche hermine,

da kann man ja nicht mehr erkennen, was das Problem ist.

Daher wirst du ja in [Hinweis] Wie poste ich richtig? dazu aufgefordert nur die relevanten Codestellen zu posten.

Dazu solltest du aussagekräftige Titel wählen. Ich habe es mal angepasst. Falls dir was treffenderes einfällt, trag es einfach ein. Danke!

Hast du mal probiert einen blanken Service ohne eigenen Code zu installieren und zu schauen, ob der läuft? Wenn du sagst, dass die Installation funktioniert hat: Vielleicht suchst du nach dem falschen Namen?

Gruss

Coffeebean

04.06.2018 - 14:53 Uhr

Hallo CrocodileDundee,

das Element "Adresse" hat ja nur Attribute und keinen "Content" in dem Sinne. Daher ist es ein self-closing-tag. Das passt so und ist valides XML.

Gruss

Coffeebean

04.06.2018 - 08:19 Uhr

Hallo manullino,

ich würde gerade bei solchen Fällen mit REST (WebAPI) arbeiten. SignalR ist ja jetzt auch dabei (ASP.NET Core 2.1 Release kam ja vor ein paar Tagen) und deine genannten Punkte sind Standardvoraussetzungen und sollten kein Problem sein.

Gruss

Coffeebean

27.05.2018 - 11:24 Uhr

Hallo Kolibri69,

du kannst doch mit dem [Artikel] Debugger: Wie verwende ich den von Visual Studio? schauen, was in der Collection drin ist. Hast du das mal probiert?

Gruss

Coffeebean

22.05.2018 - 09:23 Uhr

Hallo Joetempes,

es gibt schon ein paar Threads wie

Einstieg in Webprogrammierung: ASP.NET MVC oder Webforms? oder
Der richtige Einstieg in die Webentwicklung - Roter Faden?

Bitte kein jQuery nehmen (zumindest nicht als primäre Lib). Wenn du maximale Flexibilität willst setze auf ein Backend (Beispielsweise ASP.NET Core) und ein Frontend mit Angular, React oder Vue. Dann brauchst du kein jQuery mehr. Aber halte Frontend und Backend komplett getrennt.

Den Königsweg gibt es nicht. Kommt immer auf deine Umstände an.

Gruss

Coffeebean

03.05.2018 - 17:43 Uhr

Hallo M.Lach,

die Sternchen sind Pointer. Wenn du die mal wirklich verstanden hast, dann fällt dir vieles leichter. Aber trotzdem solltest du dir erstmal die Grundlagen anschauen mMn.

Klar kannst du nicht C++ in C# Code pasten und erwarten, dass es geht. Du kannst aber C++ Dlls Referenzieren.

Ich hab jetzt auf die Schnelle nicht gesehen, was die Methode macht.

Hilft:
Changing output sound device in &quot;realtime&quot;?

Gruss

Coffeebean

03.05.2018 - 14:50 Uhr

Hallo Th69,

ah okay, das hatte ich übersehen. Wichtig ist, dasss es nicht immer manuell geschehen muss. Danke! 👍

Gruss

Coffeebean

03.05.2018 - 14:00 Uhr

Hallo M.Lach,

Das kopieren der ikpMP3.dll in den bin\Debug-Ordner brachte Abhilfe.

Hast du das manuell gemacht? Das sollte eigentlich automatisch passieren. Hast du die Dll richtig eingebunden? Siehe mein erster Beitrag in dem Thread.

Gruss

Coffeebean

02.05.2018 - 19:42 Uhr

Hallo Davaaron,

Lazy Loading geht auf Modulebene. Du sprichst, soweit ich es verstanden habe, von Components. Die kann man nicht lazy loaden. Ein NgIf auf eine boolsche Variable ist wahrscheinlich der wenigste Aufwand.

Es geht natürlich auch mit named outlets. Die brauchst du aber nur, wenn du zwei Outlets direkt addressieren willst. Du willst doch immer die eine oder die andere Component anzeigen, oder? Wieso machst du es so kompliziert? 😃

https://stackblitz.com/edit/angular-itc6ud

Schnell runtergetippt...

Gruss

Coffeebean

02.05.2018 - 12:48 Uhr

Hallo Davaaron,

du kannst bei zwei Components mit einem NgIf arbeiten, du kannst Childroutes machen (Parent Component bekommt ein eigenes RouterOutlet und deine Components eine Child-Route) oder du kannst Components dynamisch mit Dynamic Component Loader erstellen.

Wenn ich dich richtig verstehe sind ChildRoutes das, was du suchst.

Gruss

Coffeebean

27.04.2018 - 07:22 Uhr

Hallo M.Lach,

in deinem Projekt Rechtsklick auf die "References", "Add Reference" hast du gemacht, dann deine Irrklang-dll angegeben?

Dann so wie hier beschrieben? irrKlang Tutorial: Hello World (C#)

Gruss

Coffeebean

26.04.2018 - 15:30 Uhr

Hallo zusammen,

den Typ kann man ja in der DB speichern. Mit der ID kann man dann genau sagen, welcher Task welcher Typ sein soll.

Gruss

Coffeebean

26.04.2018 - 14:43 Uhr

Hallo fichz,

ich würde das mit Dependency Injection lösen. Registrier dir eine Collection von Klassen, die alle ein Interface implementieren und injecte dir die Collection in eine Factory (zum Beispiel) und anhand von einem Identifier suchst du dir die Klasse raus und gibst sie als Interface zurück. Dann kann man wieder die "Process"-Methode aufrufen.

Nur aufpassen, falls die konkrete Klasse enorm viele Abhängigkeiten hat, kann das teuer werden. Du bekommst ja eine Liste deiner Klassen injected. Aber das musst du bei dir konkret schauen.

Gruss

Coffeebean

26.04.2018 - 09:14 Uhr

Hallo fichz,

suchst du etwas wie HangFire?

Ich habe den Titel mal angepasst. Der vorige Titel hat das Problem nicht mal im Ansatz beschrieben. Korrigier es bitte, wenn du was besseres hast.

Gruss

Coffeebean

26.04.2018 - 07:13 Uhr

Hallo mankingwwe,

du kannst Javascript verwenden um einen Request abzufeuern gegen deine API. Stichworte hier sind REST, WebAPI und XHR-Requests mit Javascript, jQuery oder, wenn dus richtig angehen magst, Angular, React oder oder oder.

Gruss

Coffeebean

24.04.2018 - 14:25 Uhr

Hallo emuuu,

es gibt ein JsonPatchDocument, das eine Methode ApplyTo(...) sowie Methoden für die anderen PATCH-Operationen hat.

[HttpPatch("{id:int}", Name = nameof(PartiallyUpdateSomething))]
public IActionResult PartiallyUpdateSomething(int id, [FromBody] JsonPatchDocument<MyUpdateDto> patchDoc)
{
	// 
	
	MyUpdateDto updateDto = Mapper.Map<MyUpdateDto>(existingEntity);
	patchDoc.ApplyTo(updateDto, ModelState);
	
	// ...
}

Das hilft dir sowas zu machen.

Gruss

Coffeebean

24.04.2018 - 09:22 Uhr

Hallo Davaaron,

mach es mit den Ports nicht schwieriger als es ist, wenn du nicht musst. Zwei Applikationen, zwei Ports und fertig 😃

Gruss

Coffeebean

24.04.2018 - 08:31 Uhr

Hallo Davaaron,

CORS eingestellt? Ich lese in deinem Post 4 (!) Ports: 7004, 49403, 59972 und 51868. Deine API hört doch auf http://localhost:7004 oder nicht? Dann musst du deine Requests von Angular auch dahin schicken, wenn nicht anders definiert in den launchSettings.json zum Beispiel. Wenn deine API auf 49403 hört (hast dus umkonfiguriert?), dann hast du die Kommunikation von deinem webpack-dev-server (Port 59972) auf deine API (Port 49403). Lass doch den Angular Port weg und geh auf den standardmässig eingestellten 4200.

Gruss

Coffeebean

23.04.2018 - 07:26 Uhr

Hallo NEUMee,

kannst du in Zukunft bitte darauf achten immer nur eine Frage in einem Thread zu stellen? Der Thread wird für uns unmoderierbar, weil solche Antworten:

  1. und 2. ...

  2. ...

  3. ...

einfach nicht übersichtlich und nicht nachzuvollziehen sind. Weiter kann dem Thread kein eindeutiger Titel zugesprochen werden, dein Problem wird einfach nicht klar, wenn man den Thread nicht komplett durchliest. Bitte denk ein wenig daran.

Steht auch in [Hinweis] Wie poste ich richtig?

Gruss

Coffeebean

18.04.2018 - 19:06 Uhr

Hallo TheRock0412,

du musst dir einfach bewusst machen, was "static" macht. Hol dir doch dein Zeug nur, wenn du es brauchst und arbeite mit normaler OOP. Das sind aber Grundlagen, die du in der Doku etc. findest. Wenn du testen willst und alles mit static machst hast du keine Chance mehr.

Gruss

Coffeebean

18.04.2018 - 19:01 Uhr

Hallo scoKi!,

ich hatte mal gebloggt darüber. Ich weiss aber nicht, ob das noch aktuell ist, habe es seitdem nicht mehr probiert. Hast du mal How to debug an Angular application with Chrome and VS Code probiert? Wenn das nicht mehr geht muss ich den Blogpost mal aktualisieren.

Gruss

Coffeebean

17.04.2018 - 08:13 Uhr

Hallo TheRock0412,

hast du mal den [Artikel] Debugger: Wie verwende ich den von Visual Studio? angeschmissen und geschaut, was in deinem combox_Datenträger.SelectedItem und in deinem mosDisks drinsteht? Vor allem: Wann du was abrufst?

Gruss

Coffeebean

16.04.2018 - 07:29 Uhr

Hallo TheRock0412,

ich hatte dir schonmal den Artikel [Artikel] C#: Richtlinien für die Namensvergabe gepostet. Bitte schreibe Methoden gross, Variablen klein, "String" bezeichnet die statische Klasse "String", Variablen werden mit "string" deklariert (auch wenn es ein Alias ist). Verwende keine Umlaute in deinem Text und schreibe deinen Code in Englisch.

Weiter versuche das Arbeiten mit statischen Methoden/Klassen zu vermeiden. Du hast keine Ahnung wer wann auf den Sachen rumtanzt und dir Sachen verändert. "new()" die Sachen auf und dann brauchst du kein static.

Du kannst mit dem [Artikel] Debugger: Wie verwende ich den von Visual Studio? schauen, wann er an dein Console-Writeline kommt. Wo hast dus denn eingebaut?

Gruss

Coffeebean

13.04.2018 - 12:01 Uhr

Hallo TheRock0412,

schonmal "combox_Datenträger.Items" auf null überprüft? Jetzt rein geraten...

Ich durchstöbere schon seit Tagen unzählige Foren zu dem Thema

Gibt ja nicht viele Möglichkeiten. Du greifst auf was zu, was null ist. Falls du die Zeile

combox_Datenträger.Items.Add(Auswahldatenträger[i].ToString());

meinst ist das entweder combox_Datenträger (was fast nicht sein kann 😉 ), combox_Datenträger.Items oder `Auswahldatenträger_[/tt]. Letzteres hast du schon überprüft. Debuggen und anschauen 😃

Steht aber in LaTino's Link. Plus [Artikel] C#: Richtlinien für die Namensvergabe

Gruss

Coffeebean

12.04.2018 - 16:04 Uhr

Hallo App,

Kann noch jemand "Mit einer Schnittstelle kann ein Typ vorgegeben werden, dessen exakte Typangabe nicht bekannt ist." erklären?

stell dir mal vor, eine Klasse benutzt einen Service um eine EMail zu verschicken.

(Alles Pseudocode)


class EmailService
{
	public SendEmail(...)
	{
		// sendet Email
	}
}

Der "EmailService" ist nun ein konkreter Typ.

Jetzt hast du eine Klasse, die diesen EmailService benutzt.


class XYZService
{
	public XYZService(...)
	{
		EmailService emailService = new EmailService();
	}
}

Hier musst du die konkrete Implementierung kennen. Sonst kannst du kein "new" machen.

Jetzt willst du aber bei dir lokal während der Entwicklung sicher nicht, dass ständig Emails rausgehen. Daher hast du einen zweiten Service, der statt eine Email schickt einfach mal was irgendwo raus loggt.


class EmailMockService
{
	public SendEmail(...)
	{
                // gleiche Funktion wie der normale EmailService, aber...
		// ... sendet KEINE Email sondern loggt etwas raus
	}
}

Jetzt musst du in deinem Service aber entscheiden, welchen Service du auf"new"st.


class XYZService
{
	public XYZService(...)
	{
		EmailMockService emailService = new EmailMockService();
                // oder
                EmailService emailService = new EmailService();
	}
}

Somit hast du mit zwei konkreten Typen zu kämpfen. "EmailMockService" und "EmailService". Das sind deine konkreten Typen.

Jetzt kannst du dir ein Interface bauen, was den Contract klärt, den diese Services zu implementieren haben.


interface IEmailService
{
	SendMail(...)
}

In deinem "XYZService" kannst du deine Variable nun vom Typ "IEmailService" machen, denn dich interssiert nur noch der Contract, nicht mehr die konkrete Implementierung.


class XYZService
{
	IEmailService _emailService;
	
	public XYZService(...)
	{
		//Falls development
			IEmailService _emailService = new EmailMockService();
			
		//Falls Production
			IEmailService _emailService = new EmailService();
	}
	
	// Rest der Klasse arbeitet mit _emailService vom Typ "IEmailService"
}

Jetzt willst du aber nicht ständig in jedem Konstruktor entscheiden, ob du in Production bist oder nicht. Es wäre ja cool, wenn einmalig entschieden wird in welcher Umgebung du dich befindest und man dem XYZService einfach das richtige übergibt. Dafür gibt es Dependency Injection. Ohne Interfaces würde sowas gar nicht gehen.

Bei Dependency Injection (DI) hast du irgendwo einen Container, wie einen grossen Eimer, wo du einmalig alle Abhängigkeiten reinmachst und auch entscheidest, in welcher Umgebung du bist.


//Falls development
container.register<IEmailService, EmailMockService>();

//Falls Production
container.register<IEmailService, EmailService>();

Jetzt hat der Container automatisch die richtige konkrete Klasse hinter einem Interface, die du brauchst. In deinem XYZService kannst du dann einfach sagen:


class XYZService
{
	IEmailService _emailService;
	
	public XYZService(IEmailService emailService)
	{
		_emailService = emailService;
	}
	
	// Rest der Klasse arbeitet mit _emailService
}

Somit kennt dein XYZService nicht mehr die exakte Typenangabe, sondern nur noch das Interface.

Ich hab keine Ahnung: War das einigermassen verständlich? 😃

Gruss

Coffeebean

11.04.2018 - 15:57 Uhr

Hallo zusammen,

bitte keine Diskussion darüber, ob man in die Doku schauen sollte oder nicht. Die hatten wir schon zu genüge, ich glaube der TE weiss worum es geht.

[Hinweis] Bitte schau in die SDK-/MSDN-Doku

Gruss

Coffeebean

11.04.2018 - 13:17 Uhr

Hallo Killerkrümel,

hier

public async Task<TResponse> GetAnalyticalDetailResponse<TResponse>(RealAnalyticalDetailRequest request)
{
    // ...
    restRequest.AddBody(JsonConvert.SerializeObject(request, Formatting.None));
    // ...
}

da schickst du den Request ab. Der Body lässt sich dann wieder in den Typ RealAnalyticalDetailRequest serialisieren. ASP.NET macht das für dich mittels der Serializer. JsonSerializer in dem Fall.

Es geht, wie gesehen, auch einfach

restRequest.AddBody(request);

Gruss

Coffeebean

11.04.2018 - 13:12 Uhr

Hallo Killerkrümel,

Der Parameter im Controller lässt sich nur mit dynamic verarbeiten.

Nein, genau das habe ich ja versucht dir in meinem Beispiel zu zeigen. In dem geht's ja auch mit der konkreten Klasse. Wenn du das gleiche Beispiel auch hattest: Hat es bei dir ohne dynamic funktioniert? Hast du die Lösungen mal verglichen?

[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden

Gruss

Coffeebean

11.04.2018 - 12:53 Uhr

Hallo Killerkrümel,

Ich weiss nicht genau, was du machst, aber ich hab das mal schnell nachgestellt.

Client mit RESTSharp:


namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            RestClient client = new RestClient("http://localhost:65311/");
            var request = new RestRequest("api/values/1337", Method.PUT);

            var content = new MyClass()
            {
                LabContainerCodes = new List<string>()
                {
                    "value1",
                    "value2"
                }
            };

            request.AddJsonBody(content);
            client.Execute(request);
        }
    }

    public class MyClass
    {
        public List<string> LabContainerCodes { get; set; }
    }
}

Server (ASP.NET Core)


namespace WebApplication1.Controllers
{
    [Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // PUT api/values/5
        [HttpPut("{id}")]
        public IActionResult Put(int id, [FromBody]MyClass value)
        {
            return Ok(value);
        }
    }

    public class MyClass
    {
        public List<string> LabContainerCodes { get; set; }
    }
}


Funktioniert bei mir einwandfrei.

Gruss

Coffeebean