.NET Conf 2023 日程

dotnet conf 2023 Agenda

Welcome to .NET 8

2023-11-14 23:00 -- 00:00

Damian Edwards, Safia Abdalla, David Fowler, Gaurav Seth, Daniel Roth, Glenn Condron, Maddy Montaquila, Maria Naggaga

.NET 8 is here! Find out what is new for .NET developers across all workloads including cloud, mobile, desktop, web, AI, IoT, and so much more.

.NET 8 现已推出!了解适用于所有工作负载(包括云、移动、桌面、Web、AI、IoT 等)的 .NET 开发人员的新增功能。

Full stack web UI with Blazor in .NET 8

2023-11-15 00:00 -- 01:00

Daniel Roth, Steve Sanderson

In .NET 8 you can deliver the best web app experiences entirely in Blazor using Blazor's convenient component model. You can build your entire web app in Blazor without the needed for writing JavaScript or mixing web frameworks. In this session you'll see how you can use Blazor's new server-side rendering support to power your web apps from the server for maximum performance and scalability. You'll see how you can easily add advanced capabilities like streaming rendering and enhanced navigation & form handling to further optimize the user experience. Then add rich client-side interactivity wherever it is needed using Blazor Server or Blazor WebAssembly.

在 .NET 8 中,可以使用 Blazor 方便的组件模型完全在 Blazor 中提供最佳 Web 应用体验。可以在 Blazor 中生成整个 Web 应用,而无需编写 JavaScript 或混合 Web 框架。在本会话中,你将了解如何使用 Blazor 的新服务器端呈现支持从服务器为 Web 应用提供支持,以实现最佳性能和可伸缩性。您将了解如何轻松添加高级功能,如流式渲染和增强的导航和表单处理,以进一步优化用户体验。然后,使用 Blazor Server 或 Blazor WebAssembly 在任何需要的地方添加丰富的客户端交互性。

Building Cloud Native apps with .NET 8

2023-11-15 01:00 -- 02:00

Glenn Condron

Performance Improvements in .NET 8, ASP.NET Core, and .NET MAUI

2023-11-15 02:00 -- 03:00

David Fowler, Stephen Toub, Jonathan Peppers

.NET 8 has seen many improvements in performance across the entire stack. In this session, we’ll take a tour through some of the more interesting improvements in the release and examine the positive impact they can have on your services and applications.

.NET 8 在整个技术栈中的性能得到了许多改进。在本次会议中,我们将介绍版本中一些更有趣的改进,并研究它们对服务和应用程序的积极影响。

What's New in C#  12

2023-11-15 03:00 -- 03:45

Mads Torgersen, Dustin Campbell

A new .NET means a new C#! Dustin and Mads will take you through the new features in C# 12, including collection expressions and primary constructors.

新的 .NET 意味着新的 C#!Dustin 和 Mads 将带您了解 C# 12 中的新功能,包括集合表达式和主构造函数。

Packing light with VS Code and the C# Dev Kit

2023-11-15 03:45 -- 04:30

Burke Holland, Leslie Richardson

Join us for an enlightening (get it?) session on lightweight C# development with the all new C# DevKit extension and Visual Studio Code.

In this session, we'll explore the key features of the C# Dev Kit, as well as some valuable tips and tricks for getting the most out of Visual Studio Code. Learn how to navigate your codebase with ease, utilize debugging tools effectively and map the concepts you already know onto an editor that might be new to you.

Whether you're a seasoned developer or just starting with C#, this session will provide you with practical insights and techniques to make your C# development lightweight and efficient.

加入我们,参加有关使用全新 C# DevKit 扩展和 Visual Studio Code 进行轻量级 C# 开发的启发性会议。

在本会话中,我们将探讨 C# 开发工具包的主要功能,以及一些充分利用 Visual Studio Code 的宝贵提示和技巧。了解如何轻松浏览代码库,有效地利用调试工具,并将您已经知道的概念映射到您可能不熟悉的编辑器上。

无论你是经验丰富的开发人员还是刚开始使用 C#,本课程都将为你提供实用的见解和技术,使你的 C# 开发更加轻量级和高效。

Entity Framework Core 8: Improved JSON, queryable collections , and more…

2023-11-15 04:30 -- 05:15

Arthur Vickers, Shay Rojansky

Entity Framework Core 8 (EF8) introduces several new highly-requested features, as well as major underlying infrastructure changes setting up EF Core for future enhancements. The new EF8 features include:

  • Further JSON support in relational databases, including:

    • Use JSON to send multi-value parameters for translations such as List.Contains

    • Mapping and querying collections of primitive types

    • Mapping to JSON columns using SQLite

    • Leverage the new support for performance improvements, e.g. when using Contains

  • Use C# structs with DDD value object semantics in your classes while still splitting the contents to multiple columns in the database

  • Raw SQL queries for unmapped types

  • Official HierarchyId support for EF Core on SQL Server

  • Improvements to lazy loading and the change tracking APIs

  • Many small enhancements to existing features

Join Arthur Vickers and Shay Rojansky from the EF team for a tour of these new features, with demos showing the JSON mapping and queries, and value type support.

Entity Framework Core 8 (EF8) 引入了几项高度呼声很高的新功能,以及设置 EF Core 以实现未来增强功能的主要底层基础结构更改。新的 EF8 功能包括:

  • 关系数据库中的进一步 JSON 支持,包括:

    • 使用 JSON 发送翻译的多值参数,例如“List.Contains”

    • 映射和查询基元类型的集合

    • 使用 SQLite 映射到 JSON 列

    • 利用新的支持来改进性能,例如,在使用 Contains 时

  • 在类中使用具有 DDD 值对象语义的 C# 结构,同时仍将内容拆分为数据库中的多个列

  • 未映射类型的原始 SQL 查询

  • 对 SQL Server 上的 EF Core 的官方“HierarchyId”支持

  • 改进了延迟加载和更改跟踪 API

  • 对现有功能进行了许多小的改进

加入 EF 团队的 Arthur Vickers 和 Shay Rojansky,了解这些新功能,演示 JSON 映射和查询,以及值类型支持。

.NET 💖 AI

2023-11-15 05:15 -- 06:00

John Maeda, Scott Hanselman

Want to add LLM AI easily to your app? That's what the open-source project "Semantic Kernel" was built for in the wake of the ChatGPT explosion of late 2022. Learn about Semantic Kernel's latest advances for building AI Plugins and Planners.

想轻松地将 LLM AI 添加到您的应用程序中吗?这就是开源项目 “Semantic Kernel” 在 2022 年底 ChatGPT 爆炸式增长之后构建的目的。了解 Semantic Kernel 在构建 AI 插件和规划器方面的最新进展。

Build Intelligent Apps with .NET and Azure

2023-11-15 06:00 -- 06:45

Luis Quintanilla, Maria Naggaga

Join us for this exciting session and discover how you can leverage the power of AI to create the next generation of intelligent apps that transform productivity, automate processes, and derive key insights. Across the entire stack, from the runtime, to the libraries, SDKs and tools, to the services, .NET and Azure make the process of building intelligent apps more productive.

加入我们,参加这个激动人心的会议,了解如何利用 AI 的力量来创建下一代智能应用程序,从而改变生产力、自动化流程并获得关键见解。在整个堆栈中,从运行时到库、SDK 和工具,再到服务,.NET 和 Azure 使构建智能应用的过程更加高效。

What’s New in .NET MAUI

2023-11-15 06:45 -- 07:30

David Ortinau, Maddy Montaquila

Companies worldwide are building mobile and desktop apps with .NET MAUI, and .NET 8 brings greater stability, memory management, and new desktop features to everyone. In this session we’ll introduce you to what’s new in .NET 8, how companies are being successful shipping production quality applications with .NET MAUI, and how you can get the most out of Visual Studio and Visual Studio Code.

世界各地的公司都在使用 .NET MAUI 构建移动和桌面应用,而 .NET 8 为每个人带来了更高的稳定性、内存管理和新的桌面功能。

在本会话中,我们将向你介绍 .NET 8 中的新增功能、公司如何使用 .NET MAUI 成功发布生产质量的应用程序,以及如何充分利用 Visual Studio 和 Visual Studio Code。

Building and scaling cloud-native, intelligent applications on Azure and .NET

2023-11-15 07:30 -- 08:15

Scott Hunter

Learn how to run cloud-native serverless and container applications in Azure using Azure Kubernetes Service and Azure Container Apps. We help you choose the right service for your apps. We show you how Azure is the best platform for hosting cloud native and intelligent apps, and an app using Azure OpenAI Service and Azure Data. Learn all the new capabilities of our container platforms including how to deploy, test for scale, monitor, and much more.

了解如何使用 Azure Kubernetes 服务和 Azure 容器应用在 Azure 中运行云原生无服务器和容器应用程序。我们帮助您为您的应用程序选择合适的服务。我们将向你展示 Azure 如何成为托管云原生和智能应用的最佳平台,以及使用 Azure OpenAI 服务和 Azure 数据的应用。了解容器平台的所有新功能,包括如何部署、测试规模、监控等。

Improving your application telemetry using .NET 8 and Open Telemetry

2023-11-16 00:00 -- 00:30

Noah Falk, Sam Spencer

The 3 pillars of observability are Logging, Metrics and Distributed tracing. Learn about the improvements we have made in .NET 8 including logging extensions for enrichment and data redaction, and the new metrics support which follows the Open Telemetry semantic conventions.

可观测性的 3 个支柱是日志记录、指标和分布式跟踪。了解我们在 .NET 8 中所做的改进,包括用于扩充和数据修订的日志记录扩展,以及遵循开放遥测语义约定的新指标支持。

Building resilient cloud services with .NET 8

2023-11-16 00:30 -- 01:00

Martin Tomka

This is a deep dive into the .NET 8 resiliency features and integration with the popular Polly library.

本文深入探讨了 .NET 8 弹性功能以及与常用 Polly 库的集成。

App Service the best place to host your .NET 8 Web Apps

2023-11-16 01:00 -- 01:30

Byron Tardif

.NET 8 is supported on App Service on day 0!

Learn about some of the new exciting platform features that will take your .NET 8 workloads to the next level.

.NET 8 在第 0 天在应用服务上受支持!

了解一些令人兴奋的新平台功能,这些功能将使你的 .NET 8 工作负载更上一层楼。

In .NET 8, ASP.NET Ate

2023-11-16 01:30 -- 02:00

Safia Abdalla, Stephen Halter

Learn all about new features coming to the ASP.NET stack, from metrics support to improved route tooling, that are guaranteed to supercharge your development.

了解 ASP.NET 技术栈即将推出的新功能,从指标支持到改进的路由工具,这些功能保证增强您的开发。

What's new in System.Text.Json

2023-11-16 02:00 -- 02:30

Eirik George Tsarpalis

Our focus for System.Text.Json in this release has been to substantially improve the user experience when using the library in Native AOT applications, as well as delivering a number of highly requested features and reliability enhancements. These include support for populating read-only members, customizable unmapped member handling, support for interface hierarchies and snake case and kebab case naming policies and much more.

在此版本中,我们对 System.Text.Json 的重点是大幅改善在原生 AOT 应用程序中使用该库时的用户体验,并提供许多高度请求的功能和可靠性增强功能。其中包括对填充只读成员的支持、可自定义的未映射成员处理、对接口层次结构以及 snake case 和 kebab case 大小写命名策略的支持等等。

Tiny, fast ASP.NET Core APIs with native AOT

2023-11-16 02:30 -- 03:00

Damian Edwards

.NET 8 introduces support for publishing ASP.NET Core applications to native AOT for lightning-fast startup times & small, self-contained, native executables & containers. This session will provide an overview of when you might want to consider publishing native AOT for your ASP.NET Core APIs and demonstrate the benefits and compatibility considerations.

.NET 8 引入了将 ASP.NET Core 应用程序发布到本机 AOT 的支持,以实现闪电般的启动时间以及小型、独立的本机可执行文件和容器。此会话将概述何时可能需要考虑为 ASP.NET Core API 发布本机 AOT,并演示优势和兼容性注意事项。

Leveraging the power of the .NET platform in Azure Functions

2023-11-16 03:30 -- 04:00

Matthew Henderson, Fabio Cavalcante

Recent updates to Azure Functions make it easier than ever to build scalable, event-driven, serverless applications in .NET! In this session, the Azure Functions team will show you how to leverage .NET 8, ASP.NET Core integration, the latest Azure SDKs, and more so that you can make the most of your function projects.

Azure Functions 的最新更新使在 .NET 中构建可缩放、事件驱动的无服务器应用程序比以往任何时候都更容易!在本会话中,Azure Functions 团队将演示如何利用 .NET 8、ASP.NET Core 集成、最新的 Azure SDK 等,以便充分利用函数项目。

Visual Studio Updates for .NET Devs

2023-11-16 04:00 -- 04:30

Sayed Hashimi

There's so much new good stuff in Visual Studio for .NET developers - Endpoint Explorer, Dev Tunnels, REST endpoint testing with .http files, and more!

Visual Studio 中为 .NET 开发人员提供了许多新的好东西 - 终结点资源管理器、开发隧道、使用 .http 文件进行 REST 终结点测试等等!

Everyday C# - A blend of modern and time tested features

2023-11-16 04:30 -- 05:00

Bill Wagner

Everyday C# C# innovates quickly. Your team needs to chart a course to adopt new features most applicable to you and your team. Everyday C# defines the subset of C# we expect developers to learn first when they begin learning C#. We include the latest features when they are ones that we expect most developers will use. You can examine the set of features included (and excluded) as a starting point for what features to adopt in your application. You can use the same process we used to define your team's version of "Everyday C#". You'll adapt our process to match your environment. This gives your team guidance on when to adopt each new language innovation, and when to continue your current practices.

日常 C# C# 创新速度很快。您的团队需要制定一个路线,以采用最适合您和您的团队的新功能。日常 C# 定义了我们希望开发人员在开始学习 C# 时首先学习的 C# 子集。我们预计大多数开发人员会使用的最新功能都会包含这些功能。您可以检查包含(和排除)的功能集,作为在应用程序中采用哪些功能的起点。您可以使用我们用于定义团队的“日常 C#”版本的相同过程。您将调整我们的流程以匹配您的环境。这为您的团队提供了何时采用每种新语言创新以及何时继续当前实践的指导。

ASP.NET Core Authentication Simplified

2023-11-16 05:00 -- 05:30

Stephen Halter, Jeremy Likness

An introduction to the new auth features introduced in ASP.NET Core 8 that make it easier to set up and customize local authentication for client applications (SPA, Blazor, mobile, etc...) New features include: the new MapIdentityApi method which adds Identity HTTP APIs ( /register, /login, etc...) and can be used by mobile, desktop and SPA applications; a new opaque bearer token authentication handler; and new Identity Blazor Components.

介绍 ASP.NET Core 8 中引入的新身份验证功能,这些功能可以更轻松地为客户端应用程序(SPA、Blazor、移动等)设置和自定义本地身份验证 新功能包括:新的 MapIdentityApi 方法,它添加了 Identity HTTP API(/register、/login 等),可供移动、桌面和 SPA 应用程序使用;新的不透明持有者令牌身份验证处理程序;和新的 Identity Blazor 组件。

Accelerating migration of ASP.NET apps to the cloud with Azure AppCAT

2023-11-16 05:30 -- 06:00

Mike Rousos

This session introduces the Azure Application and Code Assessment Toolkit for .NET (Azure AppCAT for .NET), a Visual Studio extension that helps identify code and configuration in your solution that need reviewed prior to migrating the solution to Azure.

Azure AppCAT for .NET works with both .NET Framework and .NET 6+, providing useful insight to accelerate your migration from on-premises deployments to Azure App Service, Azure Kubernetes Service, and or Azure Container Apps.

此会话介绍适用于 .NET 的 Azure 应用程序和代码评估工具包 (Azure AppCAT for .NET),这是一个 Visual Studio 扩展,可帮助识别解决方案中在将解决方案迁移到 Azure 之前需要查看的代码和配置。

Azure AppCAT for .NET 可与 .NET Framework 和 .NET 6+ 配合使用,提供有用的见解,以加速从本地部署迁移到 Azure 应用服务、Azure Kubernetes 服务和/或 Azure 容器应用。

.NET Containers advancements in .NET 8

2023-11-16 06:00 -- 06:30

Chet Husk, Richard Lander

.NET 8 brings new advancements in performance in security not just for your apps, but for the containers that run them. Learn more about changes to the Microsoft base images to support rootless execution, new container images that support more secure deployment and entirely new scenarios like Ahead of Time compilation. Then, see how the SDK Container publishing tooling that builds on these to make container deployments easier than ever.

.NET 8 不仅为应用带来了安全性方面的新进步,还为运行它们的容器带来了新的安全性。详细了解对 Microsoft 基础映像的更改以支持非 root 执行、支持更安全部署的新容器映像以及提前编译等全新方案。然后,了解基于这些构建的 SDK 容器发布工具如何使容器部署比以往任何时候都更容易。

Build hybrid apps with .NET MAUI

2023-11-16 06:30 -- 07:00

Beth Massi, Eilon Lipton

In this session learn why you would choose a hybrid web approach to building native apps with .NET MAUI in .NET 8. Learn about Blazor hybrid and how you can build full-featured native apps for Windows, Mac, iOS and Android within a single codebase that can take advantage of your web skills. Take a tour of some of the new capabilities and see how you can reuse UI and build solutions that target the web at the same time. Also get a peek at how you can leverage other web frameworks in .NET MAUI.

在本会话中,了解为什么会选择混合 Web 方法在 .NET 8 中使用 .NET MAUI 生成原生本机应用。了解 Blazor hybrid,以及如何在可利用 Web 技能的单个代码库中构建适用于 Windows、Mac、iOS 和 Android 的全功能本机应用。浏览一些新功能,了解如何重用 UI 并同时构建面向 Web 的解决方案。此外,了解如何利用 .NET MAUI 中的其他 Web 框架。

What's new with WinForms

2023-11-16 07:30 -- 08:00

Merrie McGaw

Since we added WinForms to .NET in .NET Core 3.0 we've been making a lot of improvements for our developers. This session will go over some of these improvements in both the runtime and the Visual Studio WinForms designer. You'll see that WinForms is alive and well in .NET!

自从我们在 .NET Core 3.0 中将 WinForms 添加到 .NET 以来,我们一直在为开发人员进行大量改进。此 session 将介绍运行时和 Visual Studio WinForms 设计器中的一些改进。您将看到 WinForms 在 .NET 中仍然活跃!

Best Practices for Cross-Platform .NET 8 Applications

2023-11-16 08:00 -- 08:30

Nick Randolph

You shouldn’t need to ever write code from scratch for commonly used functions.

Microsoft has extracted a host of capabilities outside of ASP.NET and made them available through Microsoft Extensions – covering hosting, logging, configuration, etc. In turn, the open-source Uno Platform Extensions are based on Microsoft Extensions and enable cross-platform scenarios for .NET applications such as Navigation, Localization and more.  In addition, we will cover the new Reactive extension for cross-platform scenarios inspired by Kotlin Flows, Scala Streams and Reactive Extensions

In this session we will show how you can bootstrap a new Uno Platform application and get started with proper architecture in minutes, for work that would usually take weeks to do.

您不需要为常用函数从头开始编写代码。

Microsoft 在 ASP.NET 之外提取了大量功能,并通过 Microsoft 扩展提供它们——涵盖托管、日志记录、配置等。反过来,开源 Uno 平台扩展基于 Microsoft 扩展,并为 .NET 应用程序(如导航、本地化等)启用跨平台方案。此外,我们还将介绍受 Kotlin Flows、Scala Streams 和 Reactive Extensions 启发的跨平台场景的新响应式扩展

在本次会议中,我们将展示如何引导一个新的 Uno 平台应用程序,并在几分钟内开始使用适当的架构,而这些工作通常需要数周才能完成。

Vertical Slice Architecture: How Does it Compare to Clean Architecture

2023-11-16 08:30 -- 09:00

Luke Parker

Is Vertical Slice Architecture the next big thing or just as cool new kid?

Enterprise software development requires you to choose the right architecture. This session with Luke Parker will provide a realistic dive into Vertical Slice Architecture (VSA) with .NET; showcasing the potential shift from Clean Architecture (CA) to VSA.

You will learn the benefits and drawbacks of both Clean Architecture & VSA. We'll reflect on some changes to increase development speed, focusing on a modern Web API, utilising the latest C# features.

See Luke demonstrate how to architect an application that is maintainable and scalable. Utilising a template for faster development, you can get up and running very quickly if you know how!

Join us and get ahead of the curve, and be the one driving innovation in your .NET application.

垂直切片架构是下一件大事还是同样酷的新孩子?

企业软件开发需要您选择正确的架构。与 Luke Parker 的这次会议将真实地深入探讨 .NET 的垂直切片体系结构 (VSA);展示从干净架构 (CA) 到 VSA 的潜在转变。

您将了解 Clean Architecture 和 VSA 的优点和缺点。我们将回顾一些更改,以提高开发速度,重点关注利用最新 C# 功能的新式 Web API。

请参阅 Luke 演示如何构建可维护和可扩展的应用程序。利用模板加快开发速度,如果您知道如何操作,您可以非常快速地启动和运行!

加入我们,走在潮流的前面,成为推动 .NET 应用程序创新的人。

Generative AI for the .NET Developer

2023-11-16 09:00 -- 09:30

Aaron Powell

Have you ever wondered how to create intelligent apps with .NET and Azure OpenAI? Do you want to learn how to leverage the power of large language models like ChatGPT to generate natural and engaging conversations? Do you want to see how AI can build AI apps? If you answered yes to any of these questions, then this talk is for you!

In this talk, you will discover how to use .NET, C#, and Azure to create amazing applications with OpenAI and other generative AI technologies. You will learn the fundamental concepts of this latest wave of AI, the benefits and challenges of using .NET with it, and the best practices and tips for developing intelligent apps. You will also see a live demo of how AI can build AI apps using .NET and OpenAI.

And yes, this abstract was created using Bing's Chat 😀

你有没有想过如何使用 .NET 和 Azure OpenAI 创建智能应用?您想学习如何利用 ChatGPT 等大型语言模型的强大功能来生成自然且引人入胜的对话吗?您想看看 AI 如何构建 AI 应用程序吗?如果您对这些问题中的任何一个回答是肯定的,那么这次演讲适合您!

在本次演讲中,你将了解如何使用 .NET、C# 和 Azure 通过 OpenAI 和其他生成式 AI 技术创建令人惊叹的应用程序。你将了解最新一波 AI 的基本概念、将 .NET 与它结合使用的好处和挑战,以及开发智能应用的最佳实践和技巧。您还将看到 AI 如何使用 .NET 和 OpenAI 构建 AI 应用程序的现场演示。

是的,这个摘要是使用 Bing chat 创建的😀

Bye ASP.NET WebForm, Welcome Blazor: Transform your ASP.NET  WebForm Chatbot in no time, and beyond!

2023-11-16 09:30 -- 10:00

Justin Yoo

Is your chatbot still running on a legacy ASP.NET WebForm app, and you’re wondering if it’s time for an upgrade? In today's fast-paced tech world, remaining stagnant is not an option. This session is designed to provide you with a step-by-step guide on how to seamlessly migrate your existing chatbot from the old ASP.NET WebForm to the newer, more robust Blazor with minimal disruptions.

The presentation aims to offer a balanced perspective by diving deep into the pros and cons of making the move to Blazor. While the benefits like improved performance, scalability, and modern architecture are compelling, it's crucial to consider potential downsides such as the learning curve and short-term disruptions. This comprehensive analysis will empower developers, software architects, and decision-makers to make informed choices that are right for their specific needs and scenarios.

One of the session's highlights will be a thorough examination of Blazor’s versatility. We'll explore how Blazor can be configured for various applications—ranging from server to WebAssembly, and even to MAUI for native applications. These insights will provide attendees with a wider lens to evaluate the Blazor's capabilities, and how it fits into a diversified technology stack, adding more value than ever to your projects.

Throughout the session, I'm going to deliver:

  1. Case Study: A real-world example of a chatbot currently running on a legacy ASP.NET WebForm app, focusing on its limitations.

  2. Step-by-Step Migration Guide: Concrete steps on how to transition from ASP.NET WebForm to Blazor with minimal operational disruptions.

  3. Pros and Cons: A balanced perspective on the benefits and challenges of migrating to Blazor, aiding attendees in making informed decisions.

  4. Blazor's Versatility: Detailed insights into how Blazor can be configured for different applications—Blazor Server, Blazor WebAssembly, and MAUI.

Afer the session, attendees will get those takeaways:

  1. Actionable Migration Plan: Attendees will walk away with a detailed roadmap for migrating from ASP.NET WebForm to Blazor.

  2. Informed Decision-making: The discussion of pros and cons will empower attendees to decide if migration aligns with their organizational goals.

  3. Understanding Blazor's Capabilities: Attendees will gain a thorough understanding of the versatility of Blazor in different application settings.

  4. Up-to-date Skillset: Insights gained will ensure attendees are abreast of current technologies, aiding their personal and professional development.

  5. Confidence to Act: Attendees will be empowered to make and execute decisions regarding the migration of existing applications to newer frameworks.

您的聊天机器人是否仍在旧版 ASP.NET WebForm 应用程序上运行,您想知道是否是时候升级了?在当今快节奏的科技世界中,停滞不前不是一种选择。此会话旨在为你提供分步指南,介绍如何将现有聊天机器人从旧的 ASP.NET WebForm 无缝迁移到更新、更强大的 Blazor,同时将中断降至最低。

该演示文稿旨在通过深入探讨迁移到 Blazor 的利弊来提供平衡的视角。虽然改进的性能、可扩展性和现代架构等好处令人信服,但考虑潜在的缺点(例如学习曲线和短期中断)至关重要。这种全面的分析将使开发人员、软件架构师和决策者能够做出适合其特定需求和场景的明智选择。

会议的亮点之一是对 Blazor 的多功能性进行彻底检查。我们将探讨如何为各种应用程序配置 Blazor,从服务器到 WebAssembly,甚至本机应用程序的 MAUI。这些见解将为与会者提供更广阔的视角来评估 Blazor 的功能,以及它如何适应多样化的技术堆栈,从而为您的项目增加比以往更多的价值。

在整个会议期间,我将提供:

  1. 案例研究:当前在旧版 ASP.NET WebForm 应用程序上运行的聊天机器人的真实示例,重点介绍其局限性。

  2. 分步迁移指南:有关如何从 ASP.NET WebForm 过渡到 Blazor 的具体步骤,同时将操作中断降至最低。

  3. 优点和缺点:对迁移到 Blazor 的好处和挑战有一个平衡的观点,帮助与会者做出明智的决定。

  4. Blazor 的多功能性:详细了解如何为不同的应用程序(Blazor Server、Blazor WebAssembly 和 MAUI)配置 Blazor。

在会议期间,与会者将获得以下要点:

  1. 可操作的迁移计划:与会者将带着从 ASP.NET WebForm 迁移到 Blazor 的详细路线图。

  2. 知情决策:对利弊的讨论将使与会者能够决定迁移是否符合其组织目标。

  3. 了解 Blazor 的功能:与会者将全面了解 Blazor 在不同应用程序设置中的多功能性。

  4. 最新技能:获得的见解将确保与会者了解当前技术,帮助他们的个人和职业发展。

  5. 行动的信心:与会者将有权制定和执行有关将现有应用程序迁移到新框架的决策。

Create an enterprise Copilot extension for Visual Studio Code through Semantic Kernel

2023-11-16 10:00 -- 10:30

Kinfey Lo

GitHub Copilot is very popular with enterprise users, but how to inject enterprise coding specifications, relevant coding requirements, and documentation content for enterprises? It's time to create a Copilot Extension that's right for a specific enterprise scenario. This session will show you how to build an enterprise-level Visual Studio Code Extension using .NET with Semantic Kernel and Nodejs

GitHub Copilot 非常受企业用户欢迎,但如何为企业注入企业编码规范、相关编码需求、文档内容呢?是时候创建适合特定企业方案的 Copilot 扩展了。此会话将演示如何使用 .NET Semantic Kernel 和 Nodejs 生成企业级 Visual Studio Code 扩展

Concurrent Hosted Service in Net 8

2023-11-16 10:30 -- 11:00

Saeed Esmaeelinejad

Before .NET 8, hosted services were started and stopped sequentially, with each service's StartAsync and StopAsync methods awaiting completion before the next service's methods were triggered. This default behavior, though mostly fine, could cause problems, particularly with slow services delaying the application's overall start or shutdown. In .NET 8, developers now have the option to enable concurrent start and/or stop behavior for registered hosted services using the new properties in HostOptions. This allows services to start and stop concurrently, potentially improving application startup and shutdown times.

在 .NET 8 之前,托管服务是按顺序启动和停止的,每个服务的 StartAsync 和 StopAsync 方法等待完成,然后再触发下一个服务的方法。这种默认行为虽然大多没问题,但可能会导致问题,尤其是在服务速度慢会延迟应用程序的整体启动或关闭的情况下。在 .NET 8 中,开发人员现在可以选择使用 HostOptions 中的新属性为已注册的托管服务启用并发启动和/或停止行为。这允许服务同时启动和停止,从而可能缩短应用程序的启动和关闭时间。

We are not just a .NET Community, we run our community on .NET

2023-11-16 11:00 -- 11:30

Augustine Correa

We are the largest Open-Source Software [OSS] community with its longest running (> 10 years) tech meetup in Bombay.

And as such we are mostly houseful [ https://twitter.com/hackmum/status/1694780944778186885?s=20]. As a community that is committed to diversity and inclusiveness, most of our efforts and time is expended on registration triaging. And the next biggest friction in our meetup management is to ensure attendee check-ins and check-outs for building/civic code adherence

So as a tech community, to solve this, we did the only thing we love to do: build an app. That too on .NET 8. We will tell you why .net8 is the best .NET yet and share what are the gotchas we had to look out for.

And we wouldn't be an OSS community, if it's not on GitHub [https://github.com/HackerspaceMumbai/Visage/issues/69]. Contributors welcome 🙏

我们是最大的开源软件 [OSS] 社区,在孟买举办时间最长(> 10 年)的技术聚会。

因此,我们大多是宅男[ https://twitter.com/hackmum/status/1694780944778186885?s=20]。作为一个致力于多样性和包容性的社区,我们的大部分精力和时间都花在了注册分类上。我们聚会管理中的下一个最大摩擦是确保与会者签到和签出是否遵守建筑/公民法规

因此,作为一个技术社区,为了解决这个问题,我们做了我们唯一喜欢做的事情:构建一个应用程序。在 .NET 8 上也是如此。我们将告诉您为什么 .net8 是迄今为止最好的 .NET,并分享我们必须注意的陷阱。

如果它不在 GitHub [https://github.com/HackerspaceMumbai/Visage/issues/69] 上,我们就不会成为 OSS 社区。欢迎更多贡献🙏

Understanding Role-Based Access Control with ASP.NET Web APIs

2023-11-16 11:30 -- 12:00

Aditya Oberai

When you're building an application and want to restrict access to resources and information for different kinds of users, Role-Based Access Control (RBAC) is one of the best, most structured models you can implement. One of the simplest ways to achieve RBAC in web APIs is by leveraging JSON Web Tokens (JWTs) and adding roles as claims.

In this session, join in as we discuss the importance of API security and how you can use JWTs to implement the RBAC pattern in an ASP.NET Web API and better secure your API endpoints.

当您构建应用程序并希望限制不同类型用户对资源和信息的访问时,基于角色的访问控制 (RBAC) 是您可以实现的最佳、最结构化的模型之一。在 Web API 中实现 RBAC 的最简单方法之一是利用 JSON Web 令牌 (JWT) 并将角色添加为声明。

在本会话中,我们将讨论 API 安全性的重要性,以及如何使用 JWT 在 ASP.NET Web API 中实现 RBAC 模式并更好地保护 API 终结点。

Spatial Data with Entity Framework Core and .NET MAUI

2023-11-16 12:00 -- 12:30

Giorgi Dalakishvili

Entity Framework Core is great for performing crud operations, but did you know that you can go beyond basic relational queries with Entity Framework Core? Do you need to store spatial data or find the nearest points of interest to a given location?

If you answered Yes to any of the above questions, this is the talk you do not want to miss.

Developers working with Entity Framework Core will learn how to store spatial data with Entity Framework Core and NetTopologySuite, how to index spatial data, and how to run spatial queries. Finally, attendees will see how to visualize spatial search results in a .NET MAUI app.

Join me for a demo-rich session and learn about Entity Framework Core features that you will be able to apply right after the session.

Entity Framework Core 非常适合执行 crud 操作,但您知道 Entity Framework Core 可以超越基本关系查询吗?您是否需要存储空间数据或查找离给定位置最近的兴趣点?

如果您对上述任何一个问题的回答是肯定的,那么这就是您不想错过的演讲。

使用 Entity Framework Core 的开发人员将了解如何使用 Entity Framework Core 和 NetTopologySuite 存储空间数据、如何为空间数据编制索引以及如何运行空间查询。最后,与会者将了解如何在 .NET MAUI 应用中可视化空间搜索结果。

与我一起参加演示丰富的会议,并了解会议结束后可以立即应用的 Entity Framework Core 功能。

Building generative AI powered bots with Teams Toolkit and AI library for .NET

2023-11-16 12:30 -- 13:00

Ayca Bas, John Miller

In this session, you'll discover the new features of Teams Toolkit for Visual Studio and understand how it helps .NET developers to easily build, debug and deploy apps for Microsoft Teams.

You'll also get introduced to the new Teams AI library for .NET and learn how you can build your first generative AI powered Teams bot using Teams Toolkit for Visual Studio and Teams AI library for .NET.

在本会话中,你将发现适用于 Visual Studio 的 Teams 工具包的新功能,并了解它如何帮助 .NET 开发人员轻松生成、调试和部署适用于 Microsoft Teams 的应用。

你还将了解适用于 .NET 的新 Teams AI 库,并了解如何使用适用于 Visual Studio 的 Teams 工具包和适用于 .NET 的 Teams AI 库生成第一个生成式 AI 驱动的 Teams 机器人。

Building Multi-Tenant ASP.NET Core Applications and ABP Framework

2023-11-16 13:00 -- 13:30

Alper Ebicoglu

What's SaaS development? What are the multi-tenancy pros and challenges? Multitenant deployment and database architectures. Multi-tenant development with the open-source ABP Framework.

什么是SaaS开发?多租户的优势和挑战是什么?多租户部署和数据库体系结构。使用开源ABP框架进行多租户开发.

Reactive programming with .NET MAUI

2023-11-16 13:30 -- 14:00

Enis Necipoğlu

Reactive programming is a paradigm that allows us to write asynchronous and non-blocking code that reacts to changes in data and events. This session shows applying reactive programming in .NET MAUI with MVVM and ReactiveUI topics.

响应式编程是一种范式,它允许我们编写异步和非阻塞代码,对数据和事件的变化做出反应。此会话演示如何使用 MVVM 和 ReactiveUI 主题在 .NET MAUI 中应用反应式编程。

From Zero to Million: How Amateur Developers and Infrastructure Engineers Built a Million-Dollar App

2023-11-16 14:00 -- 14:30

Werner Rall

Join us for an exciting presentation as we dive deep into the journey of an unlikely team of amateur developers and infrastructure engineers who crafted a million-dollar app using .NET and PowerShell. Starting with nothing more than a simple idea and their combined skills, this team harnessed the power of .NET to develop a robust and scalable application that not only caught the eye of industry veterans but also generated over $1 million in revenue for Microsoft. In this talk, we will walk through the challenges, breakthroughs, and technical details of the app development process. We will showcase how PowerShell was utilized to automate the creation and management of Azure resources, and how this contributed to the team's ability to rapidly iterate and scale the app. With valuable insights and key takeaways, we are hoping this session will inspire developers of all levels to explore the possibilities of .NET, PowerShell, and Azure, and demonstrate that with the right tools and a dedicated team, even amateur developers can achieve extraordinary success

加入我们的激动人心的演示,我们将深入了解一个由业余开发人员和基础结构工程师组成的不太可能的团队的旅程,他们使用 .NET 和 PowerShell 制作了价值数百万美元的应用。从一个简单的想法和他们的综合技能开始,该团队利用 .NET 的强大功能开发了一个强大且可扩展的应用程序,该应用程序不仅吸引了行业资深人士的注意,还为 Microsoft 创造了超过 100 万美元的收入。在本次演讲中,我们将介绍应用程序开发过程的挑战、突破和技术细节。我们将展示如何利用 PowerShell 自动创建和管理 Azure 资源,以及这如何有助于团队快速迭代和缩放应用。通过宝贵的见解和关键要点,我们希望这次会议能够激励各级开发人员探索 .NET、PowerShell 和 Azure 的可能性,并证明使用正确的工具和专门的团队,即使是业余开发人员也可以取得非凡的成功

Visual Studio updates for F#

2023-11-16 14:30 -- 15:00

Petr Semkin

In this presentation, Petr will discuss the recent enhancements to Visual Studio for F# developers. The talk will cover built-in features such as code fixes and autocomplete, as well as adjustable functionalities like type hints. These updates aim to refine and optimize the F# coding experience in Visual Studio.

在本演示文稿中,Petr 将讨论 Visual Studio 最近针对 F# 开发人员的增强功能。该演讲将涵盖内置功能(如代码修复和自动完成)以及可调整的功能(如类型提示)。这些更新旨在优化和优化 Visual Studio 中的 F# 编码体验。

From IL Weaving to Source Generators, the Realm story

2023-11-16 15:00 -- 15:30

Ferdinando Papale

Intermediate Language (IL) Weaving is a powerful technique that allows to greatly simplify the experience of developers using the .NET Realm SDK by hiding a fair amount of complexity from end-users. Working with a weaver, though, is tedious, error prone and the resulting code is a black box. These are some of the reasons that convinced us to migrate to Source Generators, a feature introduced in .NET 5 that allows to produce code on the fly during compilation. This talk will go through the reasons why IL Weaving was used in the first place, our long journey switching to Source Generators and why they do not yet satisfy all our needs.

中间语言 (IL) 编织是一种强大的技术,它允许通过向最终用户隐藏相当多的复杂性来大大简化开发人员使用 .NET 领域 SDK 的体验。然而,与织布工一起工作是乏味的,容易出错,而且生成的代码是一个黑匣子。这些是说服我们迁移到源代码生成器的一些原因,源代码生成器是 .NET 5 中引入的一项功能,允许在编译过程中动态生成代码。本次演讲将介绍最初使用 IL Weaving 的原因、我们转向源生成器的漫长旅程以及为什么它们还不能满足我们的所有需求。

Let’s catch up with C#! Exciting new features in C# 9, 10, 11 and 12!

2023-11-16 15:30 -- 16:00

Filip Ekberg

With every iteration of C#, we get more and more features that are meant to make our lives as developer a lot easier.

Let's explore what's new in C# 9, 10, 11 and 12!

We will look at how the language has changed and why these changes to the language will make us better C# developers, with less bugs in our code.

We will cover the following features:

  • Nullable reference types

  • Pattern Matching in C# 8 => C# 11

  • Record types

  • Top level programs/statements

  • Init only & new()

We'll also take a look at what is new in C# 12!

随着 C# 的每次迭代,我们都会获得越来越多的功能,这些功能旨在使我们作为开发人员的生活更加轻松。

让我们来探索一下 C# 9、10、11 和 12 中的新增功能!

我们将了解该语言是如何变化的,以及为什么这些语言的更改将使我们成为更好的 C# 开发人员,同时减少代码中的错误。

我们将介绍以下功能:

  • 可为 null 的引用类型

  • C# 8 中的模式匹配 => C# 11

  • 记录类型

  • 顶级程序/语句

  • 仅初始化 & new()

我们还将看看 C# 12 中的新增功能!

Two ways of migrating old ASP.NET web apps to .NET 7/8

2023-11-16 16:00 -- 16:30

Tomas Herceg

Legacy ASP.NET apps updated to ASP.NET Core can benefit from improved performance and access to the latest web development features and capabilities. It is not easy to migrate a non-trivial web app - the migration must be done incrementally. In this session, I'll talk about two ways of doing the migration:

  • The first way involves creating a new app aside and configuring YARP to forward traffic to already migrated pages to the new app.

  • The second way uses an open-source framework DotVVM which can be added directly to the .NET Framework project and allows switching to the .NET 7/8 when the migration is complete. I'll share a lot of practical examples and my personal experience with both methods of migration.

更新到 ASP.NET Core 的旧版 ASP.NET 应用程序可以从改进的性能和对最新 Web 开发特性和功能的访问中受益。迁移一个重要的 Web 应用程序并不容易 - 迁移必须以增量方式完成。在本会话中,我将讨论两种迁移方法:

  • 第一种方法是创建一个新应用,并将 YARP 配置为将已迁移页面的流量转发到新应用。

  • 第二种方式使用开源框架 DotVVM,可以直接添加到 .NET Framework 项目中,并允许在迁移完成后切换到 .NET 7/8。我将分享很多实际的例子和我个人对这两种迁移方法的经验。

Unleashing the Power of Cross-Platform Development with Avalonia UI

2023-11-16 16:30 -- 17:00

Mike James

Join Mike as he delves into the exciting world of cross-platform .NET development powered by Avalonia UI! This session will demonstrate how Avalonia UI enables you to create sleek, modern applications running seamlessly across Windows, macOS, Linux, iOS, Android and WebAssembly.

After discussing Avalonia UI, Mike will showcase how to revitalise legacy WPF applications and bring them to life on macOS and Linux using Avalonia XPF!

Whether you're an experienced .NET developer or just starting your journey, this session is your ticket to embracing the future of cross-platform development.

加入 Mike,深入了解由 Avalonia UI 提供支持的激动人心的跨平台 .NET 开发世界!本次会议将演示 Avalonia UI 如何使您能够创建在 Windows、macOS、Linux、iOS、Android 和 WebAssembly 上无缝运行的时尚现代应用程序。

在讨论了 Avalonia UI 之后,Mike 将展示如何使用 Avalonia XPF 振兴旧版 WPF 应用程序,并使其在 macOS 和 Linux 上栩栩如生!

无论你是经验丰富的 .NET 开发人员,还是刚刚开始你的旅程,此会话都是你拥抱跨平台开发未来的门票。

Design UI agnostic cross-platform applications with .NET

2023-11-16 17:00 -- 17:30

Dan Ciprian Ardelean

One of the first questions I hear from my clients, when they are starting developing a new cross platform applications with .NET, is: What framework should I use? Xamarin.Forms which is stable, MAUI which is the new child but still missing some things. But wait there is also Uno Platform and AvaloniaUI. The question is not wrong but maybe you could approach the problem in a different way? What if you could design your application to depend as little as possible on the UI framework thus making it easier to migrate from one UI framework to another without the need to rewrite everything. In this session I will show some strategies that you can use when you are developing a cross-platform application with .NET that should make testing, maintenance and migration easier .

当我的客户开始使用 .NET 开发新的跨平台应用程序时,我从客户那里听到的第一个问题是:我应该使用什么框架?Xamarin.Forms 是稳定的,MAUI 是新的子项,但仍缺少一些东西。但是等等,还有 Uno Platform 和 AvaloniaUI。这个问题没有错,但也许你可以用不同的方式解决这个问题?如果您可以将应用程序设计为尽可能少地依赖 UI 框架,从而更轻松地从一个 UI 框架迁移到另一个 UI 框架,而无需重写所有内容,那会怎样?在本次会议中,我将展示一些在使用 .NET 开发跨平台应用程序时可以使用的策略,这些策略应该使测试、维护和迁移更容易。

Unlocking the power of the Fluent UI Blazor components

2023-11-16 17:30 -- 18:00

Vincent Baaij, Denis Voituron

Dive into the world of Fluent UI and discover how to leverage its seamless integration with Blazor for building web and mobile applications. In this presentation, we'll take you on a journey to explore the fundamentals and building blocks of the library and demonstrate how to quickly incorporate it into your Blazor projects. Learn the basics of setting up the environment, use the interactive components, and change the styling of your application with Fluent UI design tokens. Whether you're a seasoned Blazor developer or just getting started, join us to learn how to create visually appealing and user-friendly applications with the Fluent UI Blazor library.

深入了解 Fluent UI 的世界,了解如何利用其与 Blazor 的无缝集成来构建 Web 和移动应用程序。在本演示文稿中,我们将带你探索库的基础知识和构建基块,并演示如何快速将其合并到 Blazor 项目中。了解设置环境的基础知识,使用交互式组件,以及使用 Fluent UI 设计令牌更改应用程序的样式。无论你是经验丰富的 Blazor 开发人员还是新手,都可以加入我们,了解如何使用 Fluent UI Blazor 库创建具有视觉吸引力且用户友好的应用程序。

Let none survive! - How to test our unit tests with mutation testing

2023-11-16 18:00 -- 18:30

Stefan Pölz

Executing the very short development cycle of test-driven development requires discipline and practice. However, the .NET ecosystem offers us a wide variety of tools to support us in authoring a high-quality suite of unit tests, defending our production code against defects. In this session, Stefan is showing how mutation testing can further improve the effectiveness of C# test suites by testing our unit tests with mutation testing, and how to continuously integrate it with Azure Pipelines/GitHub Actions. Let's kill some mutants!

执行测试驱动开发的极短开发周期需要纪律和实践。但是,.NET 生态系统为我们提供了各种各样的工具来支持我们编写高质量的单元测试套件,从而保护我们的生产代码免受缺陷的影响。在本会话中,Stefan 将演示突变测试如何通过使用突变测试来测试单元测试,从而进一步提高 C# 测试套件的有效性,以及如何将其与 Azure Pipelines/Github Actions 持续集成。让我们杀死一些突变体!

Migrating  a React Application to Blazor

2023-11-16 18:30 -- 19:00

Samson Amaugo

In this session, I would be discussing how I rewrote my open-source React Manifest.JSON file and Image generator (for Progressive Web Applications) to Blazor using DotNet 8.

在本会话中,我将讨论如何使用 DotNet 8 将开源 React Manifest.JSON 文件和图像生成器(用于渐进式 Web 应用程序)重写为 Blazor。

How to Achieve Optimistic Updates with Blazor and EF Core

2023-11-16 19:00 -- 19:30

Emanuele Bartolesi

Optimistic updates are a technique for improving the user experience of web applications by updating the UI before the server confirms the changes. This can make the app feel more responsive and reduce the perceived latency. In this session, you will learn how to implement optimistic updates with Blazor and Entity Framework Core (EF Core), a popular ORM framework for .NET. You will also learn how to leverage Blazor’s state management and data binding features to update the UI seamlessly. By the end of this session, you will be able to create Blazor apps that use optimistic updates with EF Core and provide a great user experience.

乐观更新是一种通过在服务器确认更改之前更新 UI 来改善 Web 应用程序用户体验的技术。这可以使应用感觉更灵敏并减少感知到的延迟。在本会话中,你将了解如何使用 Blazor 和 Entity Framework Core (EF Core)(一种适用于 .NET 的常用 ORM 框架)实现乐观更新。你还将了解如何利用 Blazor 的状态管理和数据绑定功能无缝更新 UI。在本会话结束时,你将能够创建使用 EF Core 的乐观更新并提供出色用户体验的 Blazor 应用。

EF Core database model first - take it to the next level with Power Tools CLI

2023-11-16 19:30 -- 20:00

Erik Ejlskov Jensen

Introducing the "EF Core Power Tools CLI," an open-source .NET 8 global tool designed to streamline your workflow. This powerful tool allows you to effortlessly generate a DbContext and entity classes from your existing database, offering a plethora of customization options.

In this demo-packed session you will see how easy it is to get started with EF Core with and existing database in a matter of seconds, and we will dive into some of the many options you can tweak.

隆重推出“EF Core Power Tools CLI”,这是一种开源 .NET 8 全局工具,旨在简化工作流。这个强大的工具允许您毫不费力地从现有数据库生成 DbContext 和实体类,从而提供大量自定义选项。

在这个演示丰富的会话中,你将看到在几秒钟内通过现有数据库开始使用 EF Core 是多么容易,我们将深入探讨你可以调整的众多选项中的一些。

What's new in F# 8

2023-11-16 20:00 -- 20:30

Tomáš Grošup

The session will bring an overview of new F# 8 language features, diagnostics and improvements.

该会议将概述新的 F# 8 语言功能、诊断和改进。

Modernizing Rx.NET

2023-11-16 20:30 -- 21:00

Ian Griffiths

The Reactive Extensions for .NET are one of the most well established and widely used open source .NET projects. Learn how this project is evolving to take advantage of changes in .NET.

Reactive Extensions for .NET 是最成熟和广泛使用的开源 .NET 项目之一。了解此项目如何发展以利用 .NET 中的更改。

Building next-gen applications with event-driven architectures

2023-11-16 21:00 -- 21:30

Teena Idnani

In a world where events shape our interactions, embracing an event-driven mindset empowers innovation and responsiveness at every turn. By leveraging the power of events, businesses can stay ahead of the competition, deliver superior customer value, and achieve long-term success.

In this talk, we will show how to use event-driven architecture to decouple and decentralize application components, promoting modular and independent development, and flexibility in system design. Learn how you can start thinking "event driven" as you approach designing your application. We will do a live demo using .NET8 and Azure PaaS services to highlight the immense potential of EDA in its ability to respond in real-time to events occurring in other systems and applications. By understanding the key components and benefits of EDA, you will be equipped to evaluate whether it is the right fit for your organization and empowered to initiate the implementation of event-driven architecture in your systems.

在一个事件塑造我们互动的世界里,拥抱事件驱动的思维方式可以在每一个转折点上增强创新和响应能力。通过利用活动的力量,企业可以在竞争中保持领先地位,提供卓越的客户价值,并取得长期成功。

在本次演讲中,我们将展示如何使用事件驱动架构来解耦和分散应用程序组件,促进模块化和独立开发,以及系统设计的灵活性。了解如何在设计应用程序时开始思考“事件驱动”。我们将使用 .NET8 和 Azure PaaS 服务,突出了 EDA 在实时响应其他系统和应用程序中发生的事件的能力方面的巨大潜力。通过了解 EDA 的关键组件和优势,您将能够评估它是否适合您的组织,并有能力在您的系统中启动事件驱动架构的实施。

Using .NET and Azure to build a green supercomputer for Vestas

2023-11-16 21:30 -- 22:00

Anders Lybecker, Tess Ferrandez-Norlander

Vestas is the world’s most sustainable energy company, and they wanted to reduce their carbon footprint even further by optimizing their wind turbine simulations.

These simulations are compute-intensive and require a lot of resources and energy.

In this session, we will show you how we helped Vestas achieve their goal by building a green workload in Azure, using .NET and various Azure services. You will learn how we:

  • Used location and time shifting to run your workload with lower carbon emissions

  • Utilized the hardware efficiently to reduce waste and cost

  • Leveraged Azure Event Grid, Azure Functions, and Azure Batch to create a scalable and resilient event-driven architecture

  • Built a Blazor frontend and an API backend using Azure Web Apps

Vestas 是世界上最具可持续性的能源公司,他们希望通过优化风力涡轮机仿真来进一步减少碳足迹。

这些模拟是计算密集型的,需要大量的资源和能源。

在本会话中,我们将向你展示如何使用 .NET 和各种 Azure 服务在 Azure 中构建绿色工作负载,从而帮助 Vestas 实现其目标。您将了解我们如何:

  • 使用位置和时间转移来运行您的工作负载,同时降低碳排放

  • 有效利用硬件以减少浪费和成本

  • 利用 Azure 事件网格、Azure Functions 和 Azure Batch 创建可缩放且可复原的事件驱动体系结构

  • 使用 Azure Web 应用构建了 Blazor 前端和 API 后端

Lessons from a data science startup using F# and dotnet in a developing country

2023-11-16 22:00 -- 22:30

Eduardo Bellani

What happens when you have to rebuild the whole tech area of a data science company and you have the authority to drop python and JS?  Dotnet and F#, that's what (at least for me, it was).

This talk is my tale of being the CTO of a data science consultancy and:

• Deciding to drop the existing investment on typescript and python and going on F# and dotnet; • Having to grow a team from ~4 to ~12 in the span of a year; • While facing the usual chaotic environment of a startup.

What I promise with this talk is:

  1. How it was to grow a high performing functional programming team in a developing country;

  2. What was the impact that dotnet and F# brought to the table.

当你必须重建一家数据科学公司的整个技术领域,并且你有权放弃 python 和 JS 时会发生什么?Dotnet 和 F#,就是这样(至少对我来说是这样)。

这次演讲是我作为数据科学咨询公司首席技术官的故事,并且:

• 决定放弃对 typescript 和 python 的现有投资,转而使用 F# 和 dotnet; • 必须在一年内将团队从 ~4 人发展到 ~12 人; • 面对创业公司通常的混乱环境。

我在这次演讲中承诺的是:

  1. 如何在发展中国家发展一支高绩效的函数式编程团队;

  2. dotnet 和 F# 带来了什么影响。

Reverse proxying is easy with YARP

2023-11-16 22:00 -- 22:30

Sam Spencer

How is YARP different from most other reverse proxies, and enables you to do easily customize to support your specific scenarios as its implemented as ASP.NET Core middleware.

YARP 与大多数其他反向代理有何不同,并使您能够轻松进行自定义以支持您的特定场景,因为它是作为  ASP.NET Core 中间件实现的。

Building beautiful Blazor apps with Tailwind CSS

2023-11-16 22:30 -- 23:00

Chris Sainty

Tailwind CSS has been growing in popularity for some time. It’s fast becoming one of the top frameworks to use when styling applications. It offers a different approach to the traditional frameworks like Bootstrap—utility based styling. Rather than using prebuilt components—which result in your application looking like a lot of others on the web—you can tailor your design by applying small focused CSS classes resulting in a unique style for your app.

In this code focused talk, you will learn how to bring the power of Tailwind CSS to your Blazor applications. We’ll start off with a brief introduction to Tailwind. Then we’ll get into some code and see how we can integrate Tailwind with Blazor. For the rest of the time, we’ll explore the various features of Tailwind and see just how beautiful we can make our Blazor app!

Tailwind CSS 已经流行了一段时间。它正迅速成为设置应用程序样式时使用的顶级框架之一。它提供了一种与传统框架(如 Bootstrap)不同的方法,即基于实用程序的样式。与其使用预构建的组件(这会导致您的应用程序看起来像 Web 上的许多其他应用程序),不如通过应用小型的集中 CSS 类来定制您的设计,从而为您的应用程序带来独特的样式。

在这个以代码为重点的演讲中,你将了解如何将 Tailwind CSS 的强大功能引入 Blazor 应用程序。我们将从对 Tailwind 的简要介绍开始。然后,我们将介绍一些代码,看看如何将 Tailwind 与 Blazor 集成。在剩下的时间里,我们将探索 Tailwind 的各种功能,看看我们可以将 Blazor 应用制作得多么漂亮!

Mobile Application Development with C# only: Unifying Markup and Business Logic

2023-11-16 22:30 -- 23:00

Pedro Jesus

This session, "Streamlining Mobile Application Development with C#," shows how to leverage the power of C# to handle both markup and business logic, simplifying the development process and enhancing productivity.

Traditionally, mobile applications have required developers to master multiple programming and markup languages to develop both the user interface (UI) and the underlying business logic.  By embracing a unified approach, developers can seamlessly transition between UI design and functional implementation, leading to reduced development time and improved code maintainability.

Join us to explore the future of mobile application development, where the power of C# transforms the way we create, iterate, and innovate.

本次会议“使用 C# 简化移动应用程序开发”展示如何利用 C# 的强大功能来处理标记和业务逻辑,从而简化开发过程并提高工作效率。

传统上,移动应用程序要求开发人员掌握多种编程和标记语言,以开发用户界面 (UI) 和底层业务逻辑。通过采用统一的方法,开发人员可以在 UI 设计和功能实现之间无缝过渡,从而缩短开发时间并提高代码可维护性。

加入我们,探索移动应用程序开发的未来,其中 C# 的强大功能改变了我们创建、迭代和创新的方式。

Blazor-testing from A to Z

2023-11-16 23:00 -- 23:30

Egil Hansen

This session will discuss and showcase the different Blazor testing strategies, libraries, and tools available to us, so whether you are building a website, web app, or a reusable Blazor component library, you can pick the ones that yield the most bang for the buck.

Specifically, this session covers end-2-end testing, component testing, unit testing, Playwright, bUnit, snapshot testing, semantic markup comparison, emulating user interactions, and how and when to use test doubles (e.g., mocks).

We will cover these topics with the goal of creating tests that protect against regressions, are resistant to refactoring, are maintainable, and give fast feedback.

此会话将讨论并展示我们可用的不同 Blazor 测试策略、库和工具,因此,无论你是构建网站、Web 应用还是可重用的 Blazor 组件库,都可以选择最物有所值的策略、库和工具。

具体来说,本课程涵盖 end-2-end 测试、组件测试、单元测试、Playwright、bUnit、快照测试、语义标记比较、模拟用户交互以及如何以及何时使用测试替身(例如,模拟)。

我们将介绍这些主题,目的是创建防止回归、抗重构、可维护并提供快速反馈的测试。

Experimental C# Interceptors: AOT & Performance for free

2023-11-16 23:00 -- 23:30

Stefan Pölz

C# 12.0 - shipped with .NET 8.0 - brings us a new experimental language feature: Interceptors. An interceptor is basically the inverse of a goto statement that enables the Roslyn compiler to replace reflection-based call sites with specialized implementations. Combined with (incremental) source generators, codebases become more Native AOT-friendly and can unlock better performance. Let's inspect this new concept in detail and see it in action.

C# 12.0 - 随 .NET 8.0 一起提供 - 为我们带来了一个新的实验性语言功能:拦截器。拦截器基本上是 goto 语句的反面,它使 Roslyn 编译器能够将基于反射的调用站点替换为专用实现。与(增量)源代码生成器相结合,代码库变得更加对原生 AOT 友好,并且可以释放更好的性能。让我们详细检查这个新概念,看看它的实际效果。

It's C# All The Way Down! Using .NET for home automation with IoT devices

2023-11-16 23:30 -- 00:00

Sammo Gabay

In this presentation, I demonstrate using .NET nanoFramework on a microcontroller along with .NET runtime on a Raspberry Pi to control home automation. The microcontroller acts a beacon relaying button presses from a repurposed Gravis PC GamePad to a microservice running on the Pi, which handles calling the various APIs needed to control smart home devices such as connected air conditioners and lighting. Echoing the expression “Turtles all the Way Down”, we see how C# can be leveraged across layers in an IoT solution.

在本演示文稿中,我将演示如何在微控制器上使用 .NET nanoFramework 以及在 Raspberry Pi 上使用 .NET 运行时来控制家庭自动化。微控制器充当信标,将按钮按下从重新利用的 Gravis PC GamePad 传递到在 Pi 上运行的微服务,该微服务处理调用控制智能家居设备(如连接的空调和照明)所需的各种 API。呼应“Turtles all the Way Down”这句话,我们看到了如何在 IoT 解决方案中跨层利用 C#。

To the cloud with minimal changes: A pattern to make your app reliable

2023-11-16 23:30 -- 00:00

Matt Soucoup, Nish Anil

Do you want to move your web app to the cloud without rewriting it from scratch? Do you want to enjoy reliability and resilience benefits without sacrificing your existing codebase? This session will show you how to use essential developer patterns to re-platform your app to Azure with minimal changes. You will learn how to make your app more reliable and add resilience to protect against unexpected downtime in the cloud. And how to provision and deploy your app using the Azure Developer CLI, which lets you manage your infrastructure as code and automate your workflows with GitHub actions. These patterns are the first step in your cloud journey. Don't miss this opportunity to learn how to take your app to the cloud with ease and confidence!

是否希望将 Web 应用迁移到云中,而无需从头开始重写它?您是否希望在不牺牲现有代码库的情况下享受可靠性和弹性优势?此会话将演示如何使用基本的开发人员模式将应用重新平台化到 Azure,只需进行最少的更改。你将了解如何使应用更可靠并增加复原能力,以防止云中出现意外停机。以及如何使用 Azure 开发人员 CLI 预配和部署应用,这样你就可以将基础结构即代码进行管理,并使用 GitHub 操作自动执行工作流。这些模式是云之旅的第一步。不要错过这个机会,了解如何轻松自信地将应用迁移到云中!

Community Toolkit Roundup

2023-11-17 00:00 -- 00:30

Michael Hawker, Gerald Versluis, Sergio Pedri

Join a lively discussion with maintainers of the Community Toolkits, the .NET Community Toolkit, the MAUI Community Toolkit, and the Windows Community Toolkit. Learn about these open-source projects which aim to provide useful and high-quality components, controls, and utilities for .NET developers.

Discover how you can get involved, contribute, and benefit from these amazing toolkits that cover various .NET platforms and technologies. Whether you are developing desktop, mobile, web, or cross-platform applications, there is a Toolkit for you!

加入与社区工具包、.NET 社区工具包、MAUI 社区工具包和 Windows 社区工具包的维护人员的热烈讨论。了解这些开源项目,这些项目旨在为 .NET 开发人员提供有用且高质量的组件、控件和实用工具。

了解如何参与、贡献这些涵盖各种 .NET 平台和技术的出色工具包并从中受益。无论您是在开发桌面、移动、Web 还是跨平台应用程序,总有一款 Toolkit 适合您!

Improve your ASP.NET core web app performance using Azure Cache for Redis

2023-11-17 00:00 -- 00:30

Catherine Wang, Marc Gravell

Learn how to use Redis Cache to improve performance and resiliency with your ASP.NET core web application. We will look into scenarios such as session store, web response caching, and advanced analytics and search Redis Cache scenarios.

了解如何使用 Redis 缓存提高 ASP.NET Core Web 应用程序的性能和弹性。我们将研究会话存储、Web 响应缓存以及高级分析和搜索 Redis 缓存场景等场景。

Blazor Puzzles and Answers

2023-11-17 00:30 -- 01:00

Jeffrey T. Fritz, Carl Franklin

The Blazor Puzzle podcast team of Carl Franklin and Jeff Fritz have a collection of puzzles and brain-teasers for you in this code-focused session about the latest features of the Blazor framework.  We'll fix bugs, build cool features, and even write a unit test or two

Carl Franklin 和 Jeff Fritz 的 Blazor Puzzle 播客团队在这个以代码为中心的会话中为你提供了一系列关于 Blazor 框架最新功能的谜题和脑筋急转弯。我们将修复错误,构建很酷的功能,甚至编写一两个单元测试

Make a template for your template; profit!

2023-11-17 00:30 -- 01:00

Rob Conery

Ever wish you could create your own File | New template for your company or side projects? Complete with your favorite tools and settings ready to go? In this talk Rob Conery will show you how to do just that, utilizing one of the more “under the radar” features of .NET: the project template.

曾经希望您可以创建自己的文件 |贵公司或副业的新模板?准备好您最喜欢的工具和设置了吗?在本次演讲中,Rob Conery 将向你展示如何利用 .NET 中一个更“不为人知”的功能:项目模板来做到这一点。

Integrating Blazor with existing .NET web apps

2023-11-17 01:00 -- 01:30

Ed Charbeneau

ASP.NET's RazorComponent model is intuitive and brings productivity to web development. In this session we'll learn how RazorComponents aren't just for Blazor apps and how we can integrate the best part of Blazor with existing ASP.NET applications using: Razor Pages, MVC, and even other front-end technologies.

.ASP.NET 的 RazorComponent 模型非常直观,可提高 Web 开发的工作效率。在本会话中,我们将了解 RazorComponents 如何不仅适用于 Blazor 应用,以及如何使用以下 Razor Pages、MVC 甚至其他前端技术将 Blazor 的最佳部分与现有 ASP.NET 应用程序集成。

Learn how to improve .NET application performance, leveraging Azure Code Optimizations

2023-11-17 01:00 -- 01:30

Manju Ramanathpura, Jan Kalis

Join us to learn more about how Azure Diagnostics team can help you improve your .NET application performance!  Azure Code-Optimizations is a AI-based service can identify performance issues and offer recommendations specifically tailored for .NET applications and cloud services.

加入我们,详细了解 Azure 诊断团队如何帮助你提高 .NET 应用程序性能!Azure Code-Optimizations 是一项基于 AI 的服务,可以识别性能问题,并提供专门针对 .NET 应用程序和云服务量身定制的建议。

.NET is the best backend for your JavaScript frontend

2023-11-17 01:30 -- 02:00

Jiayan Chen, Daniel Roth

We will be talking about the removal of the old SPA templates from .NET 8 and the recommended way of working with .NET using JavaScript as front end - the new multiple project combined templates shipped with Visual Studio and the JavaScript SDK. We will be walking through the full development lifecycle including project creation, build, unit testing, run and publish for a modern JavaScript framework.

我们将讨论从 .NET 8 中删除旧的 SPA 模板,以及使用 JavaScript 作为前端的 .NET 的推荐方法 - Visual Studio 和 JavaScript SDK 附带的新多项目组合模板。我们将介绍整个开发生命周期,包括项目创建、构建、单元测试、运行和发布现代 JavaScript 框架。

How to build a story generator application for children with .NET MAUI and Microsoft Azure

2023-11-17 01:30 -- 02:00

Héctor Uriel Pérez Rojas

In this demo, I recount the process for using .NET MAUI to create a cross-platform application, along with Azure OpenAI services for creating stories and images for children, as well as Azure Text to Speech for storytelling.

在此演示中,我讲述了使用 .NET MAUI 创建跨平台应用程序的过程,以及用于为儿童创建故事和图像的 Azure OpenAI 服务,以及用于讲故事的 Azure 文本转语音。

ASP.NET Basics for Experts

2023-11-17 02:00 -- 02:30

Layla Porter

People love to stay in their comfort zone and do what they've always done. But what if you could take your web applications to the next level just by getting the fundamentals right?

In this .NET 8 demo-rich session, I will show you how to make your applications more testable, maintainable and resilient. Whether you are working with a monolith or a vast distributed application, the areas we'll cover will be applicable. Join me and learn about the following topics and more!

  • Minimal APIs, top-level statements and good design practise

  • Dependency injection and inversion of control

  • HTTP clients and policies

  • Resiliency and circuit breakers with Polly

  • Discovery clients with Steeltoe OSS

人们喜欢呆在自己的舒适区,做他们一直在做的事情。但是,如果您只需掌握正确的基础知识,就可以将您的 Web 应用程序提升到一个新的水平呢?

在这个 .NET 8 演示丰富的会话中,我将向你展示如何使你的应用程序更易于测试、可维护和更灵活。无论您是使用单体应用程序还是大型分布式应用程序,我们将涵盖的领域都将适用。加入我,了解以下主题以及更多内容!

  • 最少的 API、顶级语句和良好的设计实践

  • 依赖注入和控制反转

  • HTTP 客户端和策略

  • Polly 的弹性和断路器

  • 使用 Steeltoe OSS 的发现客户端

From databases to API: an efficient solution both on-premises and in Azure

2023-11-17 02:00 -- 02:30

Davide Mauri

Data API builder turns Azure Databases into REST a GraphQL API so that you can have the backend for your next modern application done in just a few minutes instead of days. With full support to authentication and authorization, integrated with Static Web Apps and easily scalable up and out – using API Management – Data API builder is something you really want to look at. Available both on Azure and on-premises, and Open Source, this is very likely to become your favorite tool. Come and learn everything about it!

数据 API 生成器将 Azure 数据库转换为 REST(一种 GraphQL API),以便你可以在几分钟(而不是几天)内完成下一个新式应用程序的后端。数据 API 构建器完全支持身份验证和授权,与静态 Web 应用集成,并且使用 API 管理轻松向上和向外扩展,是你真正想要了解的内容。这在 Azure 和本地都可用,并且是开源的,这很可能会成为你最喜欢的工具。快来了解它的一切吧!

Integrating Third-party Services with .NET 8's Identity Framework

2023-11-17 02:30 -- 03:00

Kiah Imani

We've all been there - juggling multiple tools, trying to get them to play nicely together. And with .NET 8's robust Identity Framework, the idea of bringing in third-party services can feel a bit daunting. But here’s the good news: It doesn’t have to be!

In this talk, we'll pull back the curtain on the seamless integration of third-party services with .NET 8. We'll start with the basics, understanding what the Identity Framework brings to our table. From there, we'll dive into real-world scenarios, like plugging in popular social logins and ensuring that Aunt Mabel can safely access her account without a hitch.

And yes, we'll tackle the bumps along the way - challenges, security snags, and those "Oops, didn’t see that coming" moments. Together, we'll navigate the waters, learn from each other, and demystify the process of integrating third-party services, making it feel less like a chore and more like a new adventure.

So, whether you're a .NET veteran or someone just dipping their toes in, come along! Let's make our projects a little less "How do I even?" and a lot more "Look what I just did!"

我们都经历过 - 尝试多种工具,试图让它们很好地结合在一起。借助 .NET 8 强大的标识框架,引入第三方服务的想法可能会让人感到有些生畏。但好消息是:它不一定是!

在本次演讲中,我们将揭开第三方服务与 .NET 8 无缝集成的帷幕。我们将从基础知识开始,了解身份框架为我们的桌面带来了什么。从那里开始,我们将深入研究现实世界的场景,例如插入流行的社交登录信息,并确保 Mabel 阿姨可以顺利安全地访问她的帐户。

是的,我们将解决一路上的颠簸——挑战、安全障碍,以及那些“哎呀,没想到会到来”的时刻。我们将一起驾驭水域,相互学习,并揭开集成第三方服务过程的神秘面纱,使其感觉不像是一件苦差事,而更像是一次新的冒险。

因此,无论你是 .NET 老手还是刚刚涉足的人,都可以来吧!让我们的项目少一点“我该怎么做?”,多一点 "看看我刚刚做了什么"!

CoreWCF - Its not just for modernizing old WCF apps

2023-11-17 02:30 -- 03:00

Sam Spencer, Matt Connew

Covers what's new in WCF to make it easier to incorporate into modern applications and port old applications to modern .NET. Using JWT authentication, and Message queues for Azure or other cloud platforms.

介绍 WCF 中的新增功能,以便更轻松地合并到新式应用程序中,并将旧应用程序移植到现代化 .NET。使用 JWT 身份验证,以及适用于 Azure 或其他云平台的消息队列。

.NET App modernization and cloud migration: Cross Platform Enterprise focus

2023-11-17 03:00 -- 03:30

Ben Prejean

A journey in modernizing and migrating .NET Applications to Private and Public Cloud within an enterprise focused on cross-platform cloud PaaS solutions

在专注于跨平台云 PaaS 解决方案的企业中实现 .NET 应用程序现代化并将其迁移到私有云和公有云的旅程

Dynamic PGO

2023-11-17 03:00 -- 03:30

Andy Ayers

In .NET 8, Dynamic PGO is enabled by default, and we expect it will provide performance boosts for nearly all .NET applications. We'll explore how PGO works and show off some of the inner workings of the JIT and runtime that make this possible.

在 .NET 8 中,动态 PGO 默认处于启用状态,我们预计它将为几乎所有 .NET 应用程序提供性能提升。我们将探讨 PGO 的工作原理,并展示使这成为可能的 JIT 和运行时的一些内部工作原理。

Clean Architecture with ASP.NET Core 8

2023-11-17 03:30 -- 04:00

Steve Smith

Clean Architecture (aka Onion, Hexagonal, Ports-and-Adapters) organizes your code in a way that limits its dependencies on infrastructure concerns. This results in much more testable, maintainable code and is ideal for Domain-Driven Design as well as microservices. Learn how to apply it to your ASP.NET Core apps!

整洁架构(又名洋葱、六边形、端口和适配器)以一种限制其对基础设施问题的依赖性的方式组织您的代码。这样可以生成更可测试、可维护的代码,是领域驱动设计和微服务的理想选择。了解如何将其应用于 ASP.NET Core 应用!

Build .NET MAUI Apps with DevOps

2023-11-17 03:30 -- 04:00

Sweekriti Satpathy, David Ortinau

In this session, we'll walk through DevOps pipelines to show how to build .NET MAUI apps. We'll also share some tips and tricks, tips on how to optimize your builds. We'll look at sample pipelines in GitHub Actions and Azure DevOps, discuss signing the apps for distribution and running Unit Tests as part of the pipeline.

在本会话中,我们将演练 DevOps 管道,以演示如何生成 .NET MAUI 应用。我们还将分享一些技巧和窍门,以及如何优化构建的技巧。我们将查看 GitHub Actions 和 Azure DevOps 中的示例管道,讨论对应用进行签名以进行分发,以及在管道中运行单元测试。

Introducing project Kiota a client generator for OpenAPI

2023-11-17 04:00 -- 04:30

Vincent Biret, Darrel Miller

Integrating your application with APIs by manually implementing authentication, authorization, serialization, error handling and building requests represents a lot of additional work. Fortunately OpenAPI and Kiota are here to save the day by generating clients for you in seconds! Join us during this demo filled session to discover how you can generate your own tailored API client. Using your new Kiota generated tailored client, you can focus on what matter: building value for your end users.

通过手动实现身份验证、授权、序列化、错误处理和构建请求,将应用程序与 API 集成需要大量额外的工作。幸运的是,OpenAPI 和 Kiota 通过在几秒钟内为您生成客户端来挽救局面!在这个充满演示的会议中加入我们,了解如何生成自己的定制 API 客户端。使用新的 Kiota 生成的定制客户端,您可以专注于重要的事情:为最终用户创造价值。

Building planet scale .NET apps with Azure Cosmos DB

2023-11-17 04:00 -- 04:30

Justine Cocchi

Building planet scale applications requires a database that can remain highly performant while seamlessly scaling as your needs grow. Azure Cosmos DB is a fully managed distributed database that can be transparently replicated across regions, making it great for applications of any scale!

Learn how to build applications using the Azure Cosmos DB .NET SDK. We will cover some best practices as well as debugging tips using OpenTelemetry and Application Insights.

构建全球规模的应用程序需要一个能够保持高性能的数据库,同时随着需求的增长而无缝扩展。Azure Cosmos DB 是一个完全托管的分布式数据库,可以跨区域透明地复制,因此非常适合任何规模的应用程序!

了解如何使用 Azure Cosmos DB .NET SDK 生成应用程序。我们将介绍一些最佳做法以及使用 OpenTelemetry 和 Application Insights 的调试技巧。

Meadow.Cloud and Azure, putting the “I” in IoT

2023-11-17 04:30 -- 05:00

Bryan Costanich

Today, getting an embedded device into production means successfully connecting to the cloud and sending data to inform real-time decisions.

In this talk, we will show how developers can use a Meadow capable device to easily connect to Meadow.Cloud and integrate with Azure to send critical data and metrics for real-time analytics and AI Anomaly Detector.

如今,将嵌入式设备投入生产意味着成功连接到云并发送数据以告知实时决策。

在本次演讲中,我们将展示开发人员如何使用支持 Meadow 的设备轻松连接到 Meadow.Cloud 并与 Azure 集成,以发送关键数据和指标以进行实时分析和 AI 异常检测器。

COM Source Generation: An evolution of COM interop in .Net

2023-11-17 04:30 -- 05:00

Jackson Schuster

In .Net 8, the interop team created a source generator to enable you to easily transition from the runtime's built-in COM interop for IUnknown interfaces to cross platform C# code that is easier to debug, audit, and customize, all without losing performance. In this talk, we'll discuss what this source generator does, what the benefits are, and how to use it.

在 .Net 8 中,互操作团队创建了一个源生成器,使你能够轻松地从运行时的内置 COM 互操作 IUnknown 接口过渡到更易于调试、审核和自定义的跨平台 C# 代码,所有这些都不会损失性能。在这次演讲中,我们将讨论这个源生成器的作用、好处是什么以及如何使用它。

Uno Platform 5.0: Elevate Your Cross-Platform .NET Development with .NET 8

2023-11-17 05:00 -- 05:30

Nick Randolph, Francois Tanguay, Sasha Krsmanovic

.NET ecosystem prides itself on all the options it provides to developers. The open-source Uno Platform is yet another option you have to create cross-platform .NET applications.  Uno Platform 5.0 is built on top of .NET 8 it enables you to quickly create UI-rich and data-driven applications everywhere .NET runs using either XAML or C# Markup.

Come learn what Uno Platform is all about, including the latest advancements for .NET 8, .NET MAUI Embedding, Model View Update eXtended (MVUX) reactive pattern, Figma integration, Hot Reload and more.

.NET 生态系统以其为开发人员提供的所有选项而自豪。开源 Uno 平台是创建跨平台 .NET 应用程序的另一种选择。Uno Platform 5.0 建立在 .NET 8 之上,它使你能够使用 XAML 或 C# 标记在 .NET 运行的任何位置快速创建 UI 丰富且数据驱动的应用程序。

快来了解 Uno 平台的全部内容,包括 .NET 8、.NET MAUI 嵌入、模型视图更新扩展 (MVUX) 反应模式、Figma 集成、热重载等的最新进展。

Use C# with Godot to make Games!

2023-11-17 05:00 -- 05:30

Michael Hawker

Have you been wanting to make a game using C#? Godot is an easy-to-use open source game engine which makes it easy to get started!

In this session we'll show you how to start a new project and how to easily connect game objects to C# to build your game.

Then we'll add a NuGet reference to the MVVM Toolkit for their amazing Messenger class to easily decouple events between game objects instead of using Godot's signals/events!

你有没有想过用C#做一个游戏?Godot 是一个易于使用的开源游戏引擎,可以轻松上手!

在本会话中,我们将向您展示如何启动一个新项目,以及如何轻松地将游戏对象连接到 C# 以生成游戏。

然后,我们将为其出色的 Messenger 类添加对 MVVM 工具包的 NuGet 引用,以轻松地在游戏对象之间分离事件,而不是使用 Godot 的信号/事件!

Azure API Center and ASP.NET Web API Integration: A Developer's Guide

2023-11-17 05:30 -- 06:00

Julia Kasper

In a rapidly evolving digital landscape, the use of APIs is becoming increasingly popular. One key tool that has emerged as a game-changer is the ability to curate and organize APIs in an organizational repository. This is where Azure API Center comes in, a structured and organized API hub that provides comprehensive information about all organizational APIs. API Center is the centralized catalog for all APIs that maintains API metadata including versions and associated deployments.

Follow a developer's journey and learn about how you can integrate your ASP.NET Core web API with Azure API Center. Learn about the benefits and use cases what you can do with Azure API Center.

在快速发展的数字环境中,API 的使用正变得越来越流行。一个改变游戏规则的关键工具是在组织存储库中策划和组织 API 的能力。这就是 Azure API Center 的用武之地,它是一个结构化且有组织的 API 中心,提供有关所有组织 API 的全面信息。API 中心是维护 API 元数据(包括版本和关联部署)的所有 API 的集中目录。

跟随开发人员的旅程,了解如何将 ASP.NET Core Web API 与 Azure API 中心集成。了解可以使用 Azure API Center 执行的操作的优势和用例。

Unleashing Cross-Platform Magic in .NET 8: Creating .NET MAUI Apps on Linux with Visual Studio Code

2023-11-17 05:30 -- 06:00

Bruno Capuano, Luis Beltran

Developing .NET MAUI mobile apps on Linux is now a reality! Thanks to the recently announced .NET MAUI extension you can now develop apps on different operating systems with Visual Studio Code. Debugging on devices, emulators, and simulators as well as other features from Visual Studio is possible thanks to the C# Dev Kit, so you can enhance your productivity with C# in VS Code.

In this session, we'll demonstrate and explain the essentials for starting your journey into developing .NET MAUI mobile apps with the VS Code extension on Linux operating system. From requirements, configuration, capabilities, limitations, demos, and features, this step-by-step guide will help you understand how .NET 8 offers a truly cross-platform experience.

在 Linux 上开发 .NET MAUI 移动应用现已成为现实!借助最近发布的 .NET MAUI 扩展,现在可以使用 Visual Studio Code 在不同的操作系统上开发应用。借助 C# 开发工具包,可以在设备、仿真器和模拟器以及 Visual Studio 中的其他功能上进行调试,因此可以在 VS Code 中使用 C# 提高工作效率。

在本会话中,我们将演示并解释在 Linux 操作系统上使用 VS Code 扩展开始开发 .NET MAUI 移动应用的要点。从要求、配置、功能、限制、演示和特性,本分步指南将帮助你了解 .NET 8 如何提供真正的跨平台体验。

CQRS with Event Sourcing using the “Critter Stack”

2023-11-17 06:00 -- 06:30

Jeremy Miller

Do you have a system where you think would be a good fit for a CQRS architecture that also uses Event Sourcing for at least part of its persistence strategy? Are you intimidated by the potential complexity of that kind of approach?

Fear not, using a combination of the Postgresql-backed Marten (https://martendb.io) library for event sourcing and its newer friend Wolverine (https://wolverine.netlify.app) for command handling and asynchronous messaging, I'll show you how you can quickly get started with both CQRS and Event Sourcing. Once we get past the quick start, I'll show you how the Critter Stack's unique approach to the "Decider" pattern will help you create robust command handlers with very little code ceremony while still enjoying easy testability.

Moving beyond basic command handling, I'll show you how to reliably subscribe to and publish the events or other messages created by your command handlers through Wolverine's durable outbox and direct subscriptions to Marten's event storage.

你是否认为某个系统非常适合 CQRS 体系结构,该体系结构也至少部分使用事件溯源作为其持久性策略?您是否被这种方法的潜在复杂性所吓倒?

不用担心,我将结合使用 Postgresql 支持的 Marten (https://martendb.io) 库进行事件溯源,并将其新朋友 Wolverine (https://wolverine.netlify.app) 用于命令处理和异步消息传递,我将向您展示如何快速开始使用 CQRS 和事件溯源。一旦我们完成了快速入门,我将向你展示 Critter Stack 对“决策者”模式的独特方法将如何帮助你创建健壮的命令处理程序,只需很少的代码仪式,同时仍然享受轻松的可测试性。

除了基本的命令处理之外,我将向您展示如何通过 Wolverine 的持久发件箱和直接订阅 Marten 的事件存储来可靠地订阅和发布命令处理程序创建的事件或其他消息。

Monitoring of Containerized .NET Applications in Azure

2023-11-17 06:00 -- 06:30

Ye Gu, Scott Kinghorn

At-scale monitoring of your .NET application infrastructure in real time is challenging given the number of steps and pieces typically involved to construct an end-to-end solution. We would like to discuss how Azure helps simplify this process for containerized .NET applications, especially those running on AKS. With the availability of a full monitoring software stack as managed services and automatic data enrichment, Azure makes monitoring more integrated and accessible as part of your application development and deployment cycles.

鉴于构建端到端解决方案通常涉及许多步骤和部分,因此实时大规模监视 .NET 应用程序基础结构具有挑战性。我们想讨论 Azure 如何帮助简化容器化 .NET 应用程序(尤其是在 AKS 上运行的应用程序)的此过程。借助作为托管服务和自动数据扩充的完整监视软件堆栈的可用性,Azure 使监视在应用程序开发和部署周期中更容易集成和可访问。

From Zero to Hero: Quickly Migrate Web Apps with Azure App Service

2023-11-17 06:30 -- 07:00

Gaurav Seth

Learn directly from the Azure migration product experts how to migrate your applications to Azure App Service by performing discovery, assessment and migration using the latest advances in Azure Migrate tooling and PowerShell scripts. See how customers have built intelligent apps in the cloud after migrating and modernizing these on-premises apps with no code changes.

直接从 Azure 迁移产品专家那里了解如何通过使用 Azure Migrate 工具和 PowerShell 脚本中的最新进展来执行发现、评估和迁移,从而将应用程序迁移到 Azure 应用服务。了解客户如何在不更改代码的情况下迁移和现代化这些本地应用后,在云中构建智能应用。

Build an Azure OpenAI powered .NET 8 Chat Bot on your data from scratch

2023-11-17 06:30 -- 07:00

Chander Dhall

In this session, you will learn how to build an Azure OpenAI Chat Bot that allows you to work with your own data. You will be able to build the API, UI and ChatBot from scratch. You will be able to ask questions in natural language.

在本会话中,你将了解如何构建一个 Azure OpenAI 聊天机器人,以便你能够使用自己的数据。您将能够从头开始构建 API、UI 和 ChatBot。您将能够用自然语言提问。

What's New in NuGet for .NET 8

2023-11-17 07:00 -- 07:30

Allie Barry

This session will provide a description and walkthrough of all of the new features available in NuGet, the .NET package manager tool, for .NET 8!

此会话将介绍和演练适用于 .NET 8 的 NuGet(.NET 包管理器工具)中提供的所有新功能!

.NET Configuration In Depth

2023-11-17 07:00 -- 07:30

Chris Ayers

Working as a consultant, something I often saw was teams moving from .NET Framework to .NET Core and .NET 5/6. As they adopted these new versions, they kept similar patterns and libraries. The teams weren't taking full advantage of the improvements in .NET. One of those areas is Configuration.

Configuration holds our secrets, connection strings, application settings, and other data. We have checked it in, stored it in a web.config and transformed it in a pipeline. Today there are a variety of ways to configure our applications securely.

This session will cover: Strongly typed configuration Configuration providers - JSON, XML, INI files; Environment variables; Command Line;Azure App Config; Key Vault Dependency Injection The Options Pattern

作为一名顾问,我经常看到团队从 .NET Framework 迁移到 .NET Core 和 .NET 5/6。当他们采用这些新版本时,他们保留了类似的模式和库。团队没有充分利用 .NET 中的改进。其中一个领域是配置。

配置包含机密、连接字符串、应用程序设置和其他数据。我们已将其签入,将其存储在 web.config 中,并在管道中对其进行转换。如今,有多种方法可以安全地配置我们的应用程序。

本次会议将涵盖:强类型配置 配置提供程序 - JSON、XML、INI 文件;环境变量;命令行;Azure 应用程序配置;密钥保管库 依赖注入 options 模式

Hardware Intrinsics in .NET

2023-11-17 07:30 -- 08:00

Tanner Gooding

Learn about the latest advancements around hardware intrinsics and vectorization in .NET, how you can take advantage of them either implicitly or explicitly, and how you can best support the wide variety of platforms (x64, Arm64, Wasm, etc) while still getting the best perf.

了解 .NET 中有关硬件内部函数和矢量化的最新进展,如何隐式或显式利用它们,以及如何最好地支持各种平台(x64、Arm64、Wasm 等),同时仍能获得最佳性能。

All About C# Source Generators

2023-11-17 07:30 -- 08:00

Shawn Wildermuth

While using Reflection is still a necessary tool for any developer. The Roslyn source generators are a compelling way to write code while your users are writing their code. In this talk, Shawn will build a source generator from scratch to show you all the gory details.

虽然使用 Reflection 仍然是任何开发人员的必备工具。Roslyn 源生成器是在用户编写代码时编写代码的一种引人注目的方法。在这次演讲中,Shawn 将从头开始构建一个源代码生成器,向您展示所有的细节。

More

文中的时间已经转成了北京时间

使用 dotnet 写了一个简单的爬虫爬取了一下日程安排,并用微软 translator API 将简介部分翻译为了中文,之后大概做了一下校对

对代码感兴趣的朋友可以在 Github 上看源码:https://github.com/WeihanLi/SamplesInPractice/blob/master/BalabalaSample/DotnetConfAgendaCrawler.cs

同时生成了一个 JSON 供数据分析

ba171200e071da02a80313b6b2b2d9c8.png

Begin/EndDateTimeInCST 是转换后的北京时间(CST 这里代表的是 China Standard Time)

DescriptionInZh 是翻译的中文,仅供参考,有一些校对的更新没有同步,需要做分析可以使用原文 Description

JSON 文件也分享下:https://raw.githubusercontent.com/WeihanLi/SamplesInPractice/master/BalabalaSample/dotnetconf2023-agenda.json

有需要的朋友可以直接用

阅读原文可以直接看 dotnetconf 官网的日程安排

References

  • https://dotnetconf.com/agenda

  • https://github.com/WeihanLi/SamplesInPractice/blob/master/BalabalaSample/DotnetConfAgendaCrawler.cs

  • https://raw.githubusercontent.com/WeihanLi/SamplesInPractice/master/BalabalaSample/dotnetconf2023-agenda.json

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: .NET是一种由微软开发的跨平台开发框架,用于构建各种类型的应用程序。而Nginx是一个高性能的HTTP和反向代理服务器,也可以用作电子邮件代理服务器。它是由俄罗斯的程序设计师Igor Sysoev开发的,以其稳定性、丰富的功能集和低系统资源消耗而闻名。\[3\]在配置Nginx时,你需要编辑nginx.conf文件,其中有一些重要的配置项,如ip_hash,它可以确保每个访客固定一个后端,以保证会话不会出现问题。\[1\]此外,你还可以使用一些其他的配置项来限制对.htaccess文件的访问。\[2\]所以,如果你想在.NET应用程序中使用Nginx作为前端负载转发服务器,你需要配置Nginx的nginx.conf文件,并根据需要进行其他的配置。 #### 引用[.reference_title] - *1* *2* [大型架构.net平台篇(WEB层均衡负载nginx) ](https://blog.csdn.net/High_Mount/article/details/6154826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [.Net分布式架构(一):Nginx实现负载均衡](https://blog.csdn.net/weixin_30700977/article/details/97328934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值