Visual Studio编译Core程序部署到linux

  • 一、背景

随着微软拥抱开源,推出Net Core框架,目前已经支持跨平台,能部署到Linux、MacOS、Windows等系统上。

下面我们就来分享一下Visual Studio编译好的代码部署到Linux上。

  • 二 、简单例子

 

1.  新建一个API程序

 

 

2. 新建一个数据传输实体类

    [Serializable]
    public class TData
    {
        /// <summary>
        /// 操作结果:Tag返回为1表示成功,0为失败
        /// </summary>
        public int Tag { get; set; }
        /// <summary>
        /// 返回消息
        /// </summary>
        public string Message { get; set; }

    }

    [Serializable]
    public class TData<T> : TData
    {
        /// <summary>
        /// 返回的结果
        /// </summary>
        public T Result { get; set; }
    }

 

3. 新建一个User实体类

    [Serializable]
    public class User
    {
        public string Id { get; set; }
        public string Name { get; set; }
        public string LoginCode { get; set; }
        public string LoginPwd { get; set; }
        public string Gender { get; set; }
        public string Address { get; set; }
    }

 

4.  新建一个UserController控制器,新建两个API GetUserById和PostSaveUserInfo

    [Route("api/[controller]/[action]")]
    [ApiController]
    public class UserController : ControllerBase
    {

        /// <summary>
        /// 测试服务器连接
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public string Get()
        {
            return "1";
        }

        /// <summary>
        /// 根据User.Id获取用户信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>        
        //[Route("GetUserById")]
        [HttpGet]
        public TData<User> GetUserById(string userId)
        {
            TData<User> tData = new TData<User>();
            if (!string.IsNullOrEmpty(userId) && string.Compare(userId, "1") == 0)
            {
                tData.Tag = 1;
                tData.Result = new User()
                {
                    Id = userId,
                    Name = "sam",
                    LoginCode = "111",
                    LoginPwd = "222",
                    Gender = "",
                    Address = "桂城"
                };
            }
            else
            {
                tData.Message = "没有找到用户信息";
            }
            return tData;
        }

        /// <summary>
        /// 保存用户信息
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>              
        //[Route("PostSaveUserInfo")]
        [HttpPost]
        public TData PostSaveUserInfo(User user)
        {
            TData tData = new TData();
            if (user != null)
            {
                tData.Tag = 1;
                tData.Message = "保存成功!";
            }
            else
            {
                tData.Message = "保存失败!";
            }
            return tData;
        }
    }

 

5.  运行起来,使用PostMan调用一遍,保证服务是正常的,返回1表示调用成功

 

 6.  发布项目,选择Linux 64运行环境

 

 

7. 使用FileZilla上传已经编译发布的文件

 

8. 使用dotnet命令启动这个程序

 

9.  测试API连接,返回1是正常的

 

 

10. 调用我们创建的API

 

  

  • 三、总结

一个简单的例子分享,在Liunx学习之旅,分享与记录。

posted @ 2020-09-07 22:32  煮酒。  阅读(956)  评论(0)    收藏  举报