现如今程序员对Web API的调用已经是轻车熟路。但是传统的api调用都是拉模式,也就是主动发起请求去调用一个api.
但是程序员往往对另一种很有用的模式很陌生,即推模式。
Just So So ...
SignalR是ASP.NET Core下非常流行的实现Web实时功能的库。微软再文档中列出了适合的应用场景:
适合 SignalR 的候选项:
需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。
仪表板和监视应用。示例包括公司仪表板、即时销售更新或旅行警报。
协作应用。协作应用的示例包括白板应用和团队会议软件。
需要通知的应用。社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。
其实只要适合使用Ajax的场景都能使用,他比WebSockets更高级,实现了断线重连,广播,分组等功能。
有时候,我们需要知道当前程序是否以管理员身份运行,以便执行一些需要特殊权限的操作。
在github(https://github.com/dotnet/runtime/issues/25118#issuecomment-367407469
)上找到了一个解决方案:
//需要引用nuget包Mono.Posix.NETStandard
public static bool IsAdministrator =>
RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ?
new WindowsPrincipal(WindowsIdentity.GetCurrent())
.IsInRole(WindowsBuiltInRole.Administrator) :
Mono.Unix.Native.Syscall.geteuid() == 0;
好了,问题解决,文章写完了。
在前面的文章中,我们已经介绍过 Playwright for .NET,它常用于自动化测试已经部署好的 Web 应用。
其实,开发人员也可以使用它在 ASP.NET Core 应用程序中进行功能测试。
根据Ace的经销商课程练习的项目,用的Visual Studio 2022 + .NET 6 + SqlServer,前后端分离WebApi+Vue3,本文章只记录部署ASP.NET Core 6 WebApi项目的实战步骤: