请问:ASP.net mvc5和asp.net.core有啥区别呢?在今后的发展中这个前景怎么样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问:ASP.net mvc5和asp.net.core有啥区别呢?在今后的发展中这个前景怎么样?相关的知识,希望对你有一定的参考价值。

如题所示,最好是计算机专业的前辈们分享一下自己的经验吧。

ASP.net mvc5和asp.net.core有什么区别呢,前景如何:

区别:

asp.net mvc5只能运行在Windows,一般通过IIS发布。

asp.net core开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。

前景:

asp.net core肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net core编写的接口才能发布到linux中,也就是asp.net core编写的接口可以做成docker的镜像发布,而asp.net mvc5不能。所以最终肯定是会慢慢都转移到asp.net core上来。
但是这需要一个比较久的过程。因为从asp.net mvc5转移到asp.net core需要一定时间的学习,即使在国外也需要一定过程。而国内由于语言环境、开发工具(需要VS2015才能进行asp.net core的开发)等的原因,肯定需要更久。国内的技术一直以来也比较保守。

如果单纯的以在国内找个开发的工作的话,建议先熟悉下asp.net mvc5。如果确实有跨平台的需求,或者团队成员都对新技术有很高的热情,从事的也是全新的项目的话,就使用asp.net core。

.net core:

.NET Core 是.NET Framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]  ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。

由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。

参考资料

百度百科.百度百科[引用时间2018-1-4]

参考技术A ASP.net mvc5和asp.net.core有什么区别呢,前景如何:
区别:
asp.net mvc5只能运行在Windows,一般通过IIS发布。
asp.net core开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。
前景:
asp.net core肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net core编写的接口才能发布到linux中,也就是asp.net core编写的接口可以做成docker的镜像发布,而asp.net mvc5不能。所以最终肯定是会慢慢都转移到asp.net core上来。但是这需要一个比较久的过程。因为从asp.net mvc5转移到asp.net core需要一定时间的学习,即使在国外也需要一定过程。而国内由于语言环境、开发工具(需要VS2015才能进行asp.net core的开发)等的原因,肯定需要更久。国内的技术一直以来也比较保守。
如果单纯的以在国内找个开发的工作的话,建议先熟悉下asp.net mvc5。如果确实有跨平台的需求,或者团队成员都对新技术有很高的热情,从事的也是全新的项目的话,就使用asp.net core。
.net core:
.NET Core 是.NET Framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]  ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。
由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。

参考技术B asp.net mvc5只能运行在Windows,一般通过IIS发布;asp.net core开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。
从前景上来说,asp.net core肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net core编写的接口才能发布到linux中,也就是asp.net core编写的接口可以做成docker的镜像发布,而asp.net mvc5不能。所以最终肯定是会慢慢都转移到asp.net core上来。
但是这需要一个比较久的过程。因为从asp.net mvc5转移到asp.net core需要一定时间的学习,即使在国外也需要一定过程。而国内由于语言环境、开发工具(需要VS2015才能进行asp.net core的开发)等的原因,肯定需要更久。国内的技术一直以来也比较保守。如果单纯的以在国内找个开发的工作的话,建议先熟悉下asp.net mvc5。如果确实有跨平台的需求,或者团队成员都对新技术有很高的热情,从事的也是全新的项目的话,就使用asp.net core吧。

html 谷歌reCAPTCHA ASP.NET C#,ASP.NET Web API

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using System.Web.Http.Cors;

namespace Net
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {

            // Web API configuration and services
            // add client side domain here
            var cors = new EnableCorsAttribute("http://localhost:3360 ,  http://localhost:58059, http://localhost:3305", "*", "*");
            config.EnableCors(cors);

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "v1/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;

namespace Net.Models.ViewModel.GoogleReCaptcha
{
    public class ReCaptchaViewModel
    {
        [JsonProperty("success")]
        public bool Success { get; set; }

        [JsonProperty("challenge_ts")]
        public DateTime Challenge { get; set; }

        [JsonProperty("hostname")]
        public string Hostname { get; set; }
    }
}
using System;
using System.Configuration;
using System.Net;
using System.Web;
using System.Web.Http;
using Net.Models.ViewModel.GoogleReCaptcha;
using Newtonsoft.Json;

namespace Net.Controllers.Education.GoogleReCaptcha
{
    [RoutePrefix("v1/captcha")]
    public class ReCaptchaController : ApiController
    {
        ReCaptchaViewModel result = new ReCaptchaViewModel();
        string value = string.Empty;
        string secret = string.Empty;
        string url = string.Empty;

        public ReCaptchaController()
        {
            secret = ConfigurationManager.AppSettings["SecretKey"].ToString();
        }

        [HttpPost]
        [Route("validuser")]
        public IHttpActionResult ValidUser()
        {
            try
            {
                foreach (string key in HttpContext.Current.Request.Form.AllKeys)
                    value = HttpContext.Current.Request.Form["g-recaptcha-response"];

                if (string.IsNullOrEmpty(value))
                    return BadRequest("User Token key missing");

                var client = new WebClient();
                url = string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, value);
                var response = client.DownloadString(url);
                result = JsonConvert.DeserializeObject<ReCaptchaViewModel>(response);

                if (result.Success == true)
                {
                    //Success
                }
                else
                {
                    //error
                }

            }
            catch (Exception ex)
            {
                return InternalServerError(ex);
            }
            
            return Ok();
        }
    }
}
<!DOCTYPE html>
<html>
<head>
    <script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>
    <form action="http://localhost:9062/v1/captcha/validuser" method="POST">
        <div class="g-recaptcha" data-sitekey="6LeLPzcUAAAAAFUFQQtlkHmd_cfVnwiWaf2KeW2N"></div>
        <button type="submit">Login</button>
    </form>
    
</body>
</html>

以上是关于请问:ASP.net mvc5和asp.net.core有啥区别呢?在今后的发展中这个前景怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

csharp asp .net c#消息框

PSEXEC 通过命令提示符成功运行,但在 ASP .Net/C# 中失败

asp.net c#.net jquery / javascript 如何使用复选框启用或禁用 requiredfieldvalidator

使用递归属性 ASP.NET / C#

ASP.NET, C# |如何在控制器中使用方法(和返回值)?

开发丨招后端开发,ASP,.NET,C#, 共享单车项目 79200元