当前位置: 首页 > news >正文

网站设计用什么软件想成为网站设计师要怎么做

网站设计用什么软件,想成为网站设计师要怎么做,伊利集团网站建设怎么样呢,致力于邯郸网站建设制作服务_使众多客户将网站转化为网络市场营销..NET框架之“小马过河”有许多流行的 .NET框架#xff0c;大家都觉得挺“重”#xff0c;认为很麻烦#xff0c;重量级#xff0c;不如其它“轻量级”框架#xff0c;从而不愿意使用。面对形形色色的框架发愁#xff0c;笔者也曾发愁。但我发现只要敢于尝试#xff0c;这… .NET框架之“小马过河”有许多流行的 .NET框架大家都觉得挺“重”认为很麻烦重量级不如其它“轻量级”框架从而不愿意使用。面对形形色色的框架发愁笔者也曾发愁。但我发现只要敢于尝试这些框架都是“纸老虎”。就像“小马过河”一样自己尝试一下就会发现“原来河水既不像老牛说的那样浅也不像松鼠说的那样深。”项目中的代码都在 LINQPad6中运行并测试通过也可以复制到 VisualStudio中执行。做简单的 Http服务器很“重”有些非常简单的 Http服务器我看到有些 .NET开发居然也用 Node.js、 Python等语言一问他们会回答说“这种简单的东西用 .NET太重了”。殊不知其实用 .NET做起来也很轻甚至更轻// 代码不需要引入任何第三方包 var http new HttpListener(); http.Prefixes.Add(http://localhost:8080/); http.Start(); while (true) { var ctx await http.GetContext(); using var writer new StreamWriter(ctx.Response.OutputStream); writer.Write(DateTime.Now); }运行效果 可见包括空行仅10行代码即可完成一个简单的 HTTP服务器。使用 EntityFramework很“重”EntityFramework简称 EF现在有两个版本 EFCore和 EF6其中 EFCore可以同时运行在 .NETFramework和 .NETCore中但 EF6只能在 .NETFramework中运行。本文中只测试了 EFCore但 EF6代码也一样简单。EntityFramework是 .NET下常用的数据访问框架以代码简单、功能强大而著名。但不少人却嗤之以鼻、不以为意。询问时回答说 EntityFramework很“重”。这个“重”字我理解为它可能占用内存高或者它可能代码极其麻烦配置不方便像 iBatis/ Hibernate那样真的这样吗如图假设我有一个 UserVoiceStatus表下面我们通过 EF将数据取出来// 引用NuGet包 // Microsoft.EntityFrameworkCore.SqlServer void Main() { var db new MyDB(new DbContextOptionsBuilder() .UseSqlServer(Util.GetPassword(ConnectionString)) .Options); db.UserVoiceStatus.Dump(); } public class UserVoiceStatus { public byte Id { get; set; } public string Name { get; set; } } public class MyDB : DbContext { public MyDB(DbContextOptions options): base(options) { } public DbSetUserVoiceStatus UserVoiceStatus { get; set; } }执行效果如图 注意如果使用 LINQPad事情还能更简单只要一行代码即可效果完全一样 UserVoiceStatuses使用 ASP.NET MVC很“重”上文说到了如何做一个简单的 Http服务器如果想复杂一点初始化 ASP.NET MVC也很简单甚至只需要一个文件即可完成void Main() { WebHost .CreateDefaultBuilder() .UseStartupUserQuery() .UseUrls(https://localhost:55555) .Build() .Run(); } public void ConfigureServices(IServiceCollection services) { services.AddControllers(); } public void Configure(IApplicationBuilder app) { app.UseRouting(); app.UseEndpoints(endpoints { endpoints.MapControllerRoute( name: default, pattern: {controller}/{action}/{id?}, defaults: new { controller Home, action Index }); }); } namespace Controllers { public class HomeController : Controller { public DateTime Index() { return DateTime.Now; } } }麻雀虽小五脏俱全这么简短的几千代码中可以使用 Https、包含了依赖注入还能完整的路由功能就构成了 ASP.NET MVC的基本代码。运行效果如图 使用 WebSockets很“重”WebSockets是个流行的 Http双向通信技术以前在 Node.js中很流行用 socket.io。代码如下async Task Main() { await WebHost .CreateDefaultBuilder() .UseStartupUserQuery() .UseUrls(https://*:55555) .Build() .RunAsync(); } async Task Echo(HttpContext ctx, WebSocket webSocket, CancellationToken cancellationToken) { var buffer new byte[4096]; ValueWebSocketReceiveResult result await webSocket.ReceiveAsync(buffer.AsMemory(), cancellationToken); while (!result.EndOfMessage) { await webSocket.SendAsync(buffer.AsMemory(..result.Count), result.MessageType, result.EndOfMessage, cancellationToken); result await webSocket.ReceiveAsync(buffer.AsMemory(), cancellationToken); } await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, NA, cancellationToken); } public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app) { app.UseWebSockets(); app.Use(async (ctx, next) { if (ctx.Request.Path /ws) { if (ctx.WebSockets.IsWebSocketRequest) { WebSocket webSocket await ctx.WebSockets.AcceptWebSocketAsync(); await Echo(ctx, webSocket, CancellationToken.None); return; } } await next(); }); app.Run(x x.Response.WriteAsync(Please call /ws using WebSockets.)); }该代码是个 Echo服务器它会将客户端发过来和内容按原因返回给客户端。然后 .NET也内置了 WebSockets的客户端可以高效地访问刚刚创建并运行的 WebSockets服务器。using (var ws new ClientWebSocket()) { await ws.ConnectAsync(new Uri(wss://localhost:55555/ws), CancellationToken.None); var completeEvent new ManualResetEventSlim(); var cts new CancellationTokenSource(); new Task(() SendMessage(ws, cts)).Start(); var buffer new byte[4096]; do { var r await ws.ReceiveAsync(buffer, cts.Token); $[{Util.ElapsedTime}] Received {Encoding.UTF8.GetString(buffer, 0, r.Count)}.Dump(); } while (ws.State ! WebSocketState.Closed); } $[{Util.ElapsedTime}] Closed..Dump(); async void SendMessage(WebSocket ws, CancellationTokenSource cts) { for (var i 0; i 3; i) { await ws.SendAsync( Encoding.UTF8.GetBytes($[{Util.ElapsedTime}] Send {DateTime.Now.ToString()}.Dump()), WebSocketMessageType.Text, endOfMessage: false, default); await Task.Delay(1000); } await ws.CloseAsync(WebSocketCloseStatus.Empty, null, default); cts.Cancel(); }最后客户端与服务器双向通信效果如下 使用 SignalR很“重”SignalR是 ASP.NET推出的抽象式的 Http协议双向通信框架。 SignalR可以用相同的 API支持像长轮询、 ServerSentEvents和 WebSocket的技术。 SignalR默认优先选择使用 WebSocket以达到最高性能如果客户端或服务器不支持则会回退至其它稍慢的技术。SignalR客户端还支持几乎所有语言、所有平台。它是如此好用几乎可以取代传统的请求/响应成为新的 Http开发模型。事实上 Blazor正在尝试这样做但 SignalR最为令人震撼的还是它非常简单的使用方式而恰恰是这一点给人误会最深。它的服务端 API甚至比 WebSocket还要简单清晰简单async Task Main() { await WebHost .CreateDefaultBuilder() .UseStartupUserQuery() .UseUrls(https://localhost:55555) .Build() .RunAsync(); } public void ConfigureServices(IServiceCollection services) { services.AddSignalR(); } public void Configure(IApplicationBuilder app) { app.UseRouting(); app.UseEndpoints(endpoints { endpoints.MapHubHubs.ChatHub(/chat); }); } namespace Hubs { public class ChatHub : Hub { public async Task Broadcast(string id, string text) { await Clients.All.SendAsync(Broadcast, id, text); } } }前文提到 SignalR提供了所有平台的 SignalR客户端如 js、 Android等其中当然显然也包括 .NET的。 SignalR的 .NET客户端使用起来也非常简单// 引入NuGet包Microsoft.AspNetCore.SignalR.Client // 代码在LINQPad中运行 var hub new HubConnectionBuilder() .WithUrl(https://localhost:55555/chat) .Build(); hub.On(Broadcast, (string id, string msg) { Console.WriteLine(${id}: {msg}); }); new Label(姓名: ).Dump(); var idBox new TextBox(Guid.NewGuid().ToString()).Dump(); await hub.StartAsync(); while (true) { var text Console.ReadLine(); if (text Q) break; await hub.SendAsync(Broadcast, idBox.Text, text); }这是一个非常简单的多人聊天室运行效果如下 总结面对形形色色的框架发愁笔者也曾发愁。但现在不了什么框架拿过来马上试试也就几十秒钟的事。好用不好用用用便知。那么读者你的“小马过河”的故事是怎样的呢
http://www.zqtcl.cn/news/224748/

相关文章:

  • 访问自己做的网站河南百度推广公司
  • Wordpress+仿站+工具建筑材料采购网站
  • 汕头免费建设网站制作阆中市网站建设
  • 怎样做网站表白墙网站设计的一般流程是什么
  • 河北手机网站制作企业网页设计的基本步骤和流程
  • 企业网站内容如何更新软件开发公司网站模板
  • 北京网站建设收费长沙有哪个学校可以学网站建设
  • 南江网站建设中国最好的app开发公司
  • 简单旅游网站开发建立网站的三种方式
  • 大连网站的优化网站设计 优帮云
  • 梧州网站seo表白网站在线生成免费
  • 网站制作体会php网站开发答案
  • 南阳响应式网站淘宝上成都网站建设
  • 深圳做手机网站设计wordpress禁用wp-cron
  • 如何自己建公司网站搜索引擎排名2020
  • 济南建站商业网站开发入门选课
  • 济南网络免费推广网站四川建设厅官方网站查询
  • 中国建设银行网站首页wordpress安装多个
  • 中国住建厅网站官网怎么建立网站快捷方式
  • 天津协会网站建设怎么用dw做带登陆的网站
  • 南宁做网站服务商苏州网站建设品牌
  • 做平台销售网站上海市普陀区建设规划局网站
  • 网站的积分系统怎么做电影在线观看
  • 成都网站建设方案服务旅游网站建设报价单
  • 京东网址seo排名查询工具
  • 南京制作网站速成班外贸营销信模板
  • 简单网站建设规划方案物联网网站设计
  • 做360网站官网还是百度四川平台网站建设方案
  • 做网站的主题有哪些精品课程网站建设情况
  • 帝国网站开发电商平台搭建