|
Auteur | Sujet : [Topic unique] .Net @ Prog |
---|
DiB91 Bwaaaaaaah | Reprise du message précédent : --------------- La DiBerie | Rehost | Link |
Publicité | Posté le 20-04-2021 à 17:08:54 |
nucl3arfl0 Better Call Saul | Hello,
|
ixemul Nan mais sans blague ! ⚡ |
J'ai fait un truc comme ça il y a quelques mois, mais j'ai pas mon code sous la main. La semaine prochaine peut-être ? --------------- VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk |
nucl3arfl0 Better Call Saul | Oui très bien, si jamais je trouve pas la solution d'ici là Merci ! |
DiB91 Bwaaaaaaah | Bonjour par ici Tiens ben justement, ça y est, j'ai franchi le cap aussi
Architecture du projet web Fonctionnement avec des données Merci de m'avoir lu, déjà Message cité 1 fois Message édité par DiB91 le 05-05-2021 à 12:04:24 --------------- La DiBerie | Rehost | Link |
nucl3arfl0 Better Call Saul |
Message édité par nucl3arfl0 le 05-05-2021 à 14:12:09 |
Yor_le_Bourrin | Tu cherches donc juste à faire une référence étrangère ? Logiquement tu n'as rien à faire (cf. https://docs.microsoft.com/fr-fr/ef [...] mple-key). Tu peux cependant clarifier dans ton contexte un truc du genre :
|
TotalRecall |
Le Code First c'est bien pour de l'embarqué ou des bases "locales" (genre la mini bdd qui accompagne un projet winform sur le poste de l'utilisateur), pas pour des projets sérieux avec une base centralisée et un DBA armé qui regarde ce que tu fais dessus. Pour l'archi en couche, à toi de faire tes différentes assemblies, ne pas se laisser influencer par les templates et générateurs Microsoft qui poussent à ce que que tout soit dans le même projet. Message cité 1 fois Message édité par TotalRecall le 05-05-2021 à 15:31:06 --------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
nucl3arfl0 Better Call Saul |
|
Publicité | Posté le 05-05-2021 à 16:49:35 |
DiB91 Bwaaaaaaah |
Merci bcp pour ta réponse Effectivement, j'ai jeté un petit coup d'oeil dans la journée, et j'admets qu'avec la même base de données, il y a une nette différence entre les classes partielles générées depuis l'EDMX (projet ASP .NET MVC 4 / EF 6) et celles scaffoldées depuis la ligne NPM du nouveau projet (ASP .NET Core 5 MVC / EF Core), en faveur de la dernière Tu me confirmes que ce scaffolding gère les mises à jour de structure de la base de données ? Il ne me manque donc plus qu'une représentation graphique pour présenter au client ou au chef de projet lors des réunions, mais pour ça, j'utilise les schéma SSMS donc ça roule. Questions d'habitude donc Pour l'architecture des projets, ouf, ça me rassure. Hâte de creuser en tout cas, mais je me rends compte que j'ai d'énormes lacunes c'est dommage. --> faut que je m'y mette, je suis largué Message cité 2 fois Message édité par DiB91 le 05-05-2021 à 18:37:23 --------------- La DiBerie | Rehost | Link |
nucl3arfl0 Better Call Saul | T'as déjà fait du repository pattern ?
|
Taiche (╯°□°)╯︵ ┻━┻ | Pour l'archi, j'allais proposer une archi hexagonale, simple à mettre en place et super intéressante pour décorréler le code métier du code technique ( https://blog.octo.com/architecture- [...] mentation/ par exemple). On fait toutes nos APIs comme ça. Message cité 1 fois Message édité par Taiche le 06-05-2021 à 08:52:06 --------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
antac .. | Dans notre projet actuel (2 ans qu'on est dessus et on sort le produit dans deux semaines), on est parti sur une architecture multi tenants (via l'utilisation de schémas différents) avec un pattern CQRS (mais sans séparer les bases pour les queries et les commands) avec des commands qui transitent par des messages. |
ixemul Nan mais sans blague ! ⚡ | Perso, maintenant c'est toujours "clean architecture", c'est moins lourd que du pur domain driven, et c'est tout aussi efficace. Et si le projet tend à passer en domain driven, il y a 90% du taf qui est déjà fait --------------- VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk |
ixemul Nan mais sans blague ! ⚡ |
--------------- VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk |
ixemul Nan mais sans blague ! ⚡ | Et pour la stack, .net core, autofac, mediatR et automapper... avec ça t'es tranquille pour des années Message édité par ixemul le 06-05-2021 à 00:07:29 --------------- VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk |
DiB91 Bwaaaaaaah |
nucl3arfl0 Better Call Saul |
|
nucl3arfl0 Better Call Saul | Tiens, question suivante (les exemples ci-dessous sont fictifs).
|
Taiche (╯°□°)╯︵ ┻━┻ | Bin à l'origine, comment cet état Archived est-il setté ? --------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
DiB91 Bwaaaaaaah | Les gars, pardon de couper la parole comme ça brutalement, mais vous rencontrez aussi de GROS ralentissements avec Visual Studio 2019 depuis la dernière mise à jour (16.9.4 chez moi)
--------------- La DiBerie | Rehost | Link |
Taiche (╯°□°)╯︵ ┻━┻ | Non, rien de tel chez moi (j'ai mis à jour y a 1 semaine environ et j'ai codé avec toute la semaine).
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
nucl3arfl0 Better Call Saul | Par une méthode Archive() de mon agrégat.
|
DiB91 Bwaaaaaaah | Ouais je pense que je vais pas y couper en effet.
--------------- La DiBerie | Rehost | Link |
nucl3arfl0 Better Call Saul |
|
Taiche (╯°□°)╯︵ ┻━┻ |
EDIT : un article sur le sujet par un gars avec qui je bosse en ce moment : https://tpierrain.blogspot.com/2021 [...] -made.html Message cité 1 fois Message édité par Taiche le 07-05-2021 à 09:34:17 --------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
DiB91 Bwaaaaaaah | Ouais ça a jamais été foufou je trouve depuis quelques années.
--------------- La DiBerie | Rehost | Link |
nucl3arfl0 Better Call Saul |
Alors je fais la même approche, et selon les projets, je fais même des tests qui teste l'état d'un système à partir d'une représentation de celui-ci (j'ai perdu le nom de la méthodo, j'ai un trou de mémoire). Message édité par nucl3arfl0 le 07-05-2021 à 11:08:08 |
TotalRecall |
--------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
TotalRecall |
await/async j'ai eu du mal aussi, surtout dans des contextes où je ne vois pas trop le bénéfice. Maintenant j'en mets partout mais je ne suis pas devenu fan pour autant. - Les signatures de méthodes sont plus lourdes - Quand tu commences à avoir rien qu'un ou deux morceaux async, c'est tout le code qui potentiellement va vouloir le devenir aussi donc tu finis par (devoir) en mettre partout. - Je me suis déjà interrogé sur le comportement dans certains cas. Par exemple j'ai ça :
Je me demande si j'ai bien la garantie que "FaireUnTruc" a besoin du même objet que "Verrouiller", et si il va bien exécuter complètement Verrouiller avant de jouer FaireUnTruc. Bon là l'exemple est basique, mais parfois quand la séquence d'exécution de plusieurs méthodes async est critique et que les dépendances entre elles ne sont pas évidentes, je me demande comment le machin décide. Message cité 2 fois Message édité par TotalRecall le 08-05-2021 à 08:29:20 --------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
TotalRecall | C'est pas vraiment que du .Net mais y a des gens qui s'y connaissent en web et en authentification Windows qui seraient inspirés là dessus ? Message cité 1 fois Message édité par TotalRecall le 08-05-2021 à 08:36:57 --------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
fugacef |
|
fugacef |
|
Implosion du Sord Fesseur de chameaux |
Message édité par Implosion du Sord le 08-05-2021 à 13:21:14 --------------- [VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast |
Yor_le_Bourrin | +1 à ce qui a été dit avant : await garantit l'ordre. Une autre subtilité : de base tu as la garantie qu'après ton await tu reviens sur le même thread qu'à l'origine. Pour gagner des perfs, si la condition n'est pas nécessaire (typiquement souvent obligatoire en web / wpf), il est possible de faire sauter la condition avec configureAwait(false). Pour la contamination des async, il est toujours possible de faire un Wait pour se rendre compatible avec du code synchrone. |
TotalRecall | Pour l'ordre garanti, justement c'est là que je m'interroge, quand tu as plusieurs await à la suite c'est bien sensé parfois pouvoir faire des traitements parallèles, sans passer par Task<>... Le ConfigureAwait(false) fait parti de mes griefs pour ce qui est de la lourdeur de la syntaxe . Pour le reste je connais bien à force, mais un petit rappel est toujours utile et ça profitera forcément à quelqu'un, merci edit : par contre pour forcer l'exécution synchrone, je préfère .GetAwaiter().GetResult() que Wait(). Encore un truc plus long à écrire, mais si je me souviens bien les exceptions sont beaucoup plus claires (à vérifier). Message cité 2 fois Message édité par TotalRecall le 10-05-2021 à 12:32:22 --------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
TotalRecall |
--------------- Réalisation amplis classe D / T Topic .Net - C# @ Prog |
Yor_le_Bourrin |
|
Implosion du Sord Fesseur de chameaux |
--------------- [VDS]AIO Fractal Design Celsius S36 | Carte Wifi N Intel 5100 mPCIe | divers accessoire boitier Fractal Design | Away from keyboard, close to your breast |
Yor_le_Bourrin | Par défaut (sans appel de la méthode), configureAwait est à true. Tu n'auras pas de grosses différences de perf en le passant à false, mais par contre tu t'exposes à des bugs, notamment en wpf et ASP.net. Il me semble que la reco c'est de ne pas y toucher dans les applis, seulement dans les DLL |
Publicité | Posté le |
Sujets relatifs | |
---|---|
service web REST en VB.NET HeySpread | Requete Access avec paramètres, éxécutée en VB .Net |
impersonalisation sous ASP.NET | [Topic Unique] les blagues pourries de harko et florentg |
Generation d'un GIF en ASP.NET | Appeler un service web .NET sécurisé en Java |
Prog Visual Basic "periodicité" | [Oracle] Temps d'execution de requete tres long par rapport au .NET |
[VB.NET] Lister des imprimantes réseaux | Fusion de résultats de requêtes dans une unique Table |
Plus de sujets relatifs à : [Topic unique] .Net @ Prog |