WEB API .NET环境发布

  • WEB API .NET环境发布已关闭评论
  • 114 次浏览
  • A+
所属分类:.NET技术
摘要

1、创建WEBAPI用restful 风格创建接口 链接字符串2、webapi发布发布路径 发布时选择空文件

1、创建WEBAPI

WEB API .NET环境发布WEB API .NET环境发布

  1 using Dapper;   2 using MesErp.Models;   3 using Microsoft.AspNetCore.Mvc;   4 using Microsoft.Extensions.Configuration;   5 using Newtonsoft.Json;   6 using System;   7 using System.Collections.Generic;   8 using System.Data;   9 using System.Data.Common;  10 using System.Data.SqlClient;  11 using System.Linq;  12 using System.Runtime.Intrinsics.Arm;  13 using System.Security.Cryptography;  14 using System.Threading.Tasks;  15 using System.Xml.Linq;  16 namespace MesErp.Controllers  17 {  18     /// <summary>  19     /// ERP-MES基础数据同步"  20     /// </summary>  21     [Route("[controller]")]  22     [ApiController]  23     public class ErpMesBasicController : ControllerBase  24     {  25         private string ConnectionStr()  26         {  27             var appSettingsJson = AppSettingsJson.GetAppSettings();  28             string connectionString2 = appSettingsJson.GetSection("ConnectionStrings")["DefaultConnection"];//链接数据库字符串  29             return connectionString2;  30         }  31         /// <summary>  32         /// 库存组织新增/更新  33         /// </summary>  34         /// <returns></returns>  35         [HttpPost("AddWorkcenter")]  36         public async Task< ErpMesRts> AddWorkcenter([FromBody]  WorkcenterModel  workcenters)  37         {  38             int rst = -1;  39             ErpMesRts rstsate = new ErpMesRts();  40               41             string connectionString = ConnectionStr();//链接字符串  42             DynamicParameters paras = new DynamicParameters();  43             string  Ctworkter=  JsonConvert.SerializeObject(workcenters);  44             paras.Add("@JosnName", Ctworkter);  45             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小  46             using (IDbConnection connection = new SqlConnection(connectionString))  47             {  48                 try  49                 {  50                     rst = await connection.ExecuteAsync("proc_ERP_MesAddWorkcenter", paras, commandType: CommandType.StoredProcedure);  51                 }  52                 catch(Exception e)  53                 {  54                     rstsate.msg=e.Message.ToString()+"数据库异常";  55   56                 }  57                                                               // 执行存储过程  58              //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);  59               60             }  61             if (rst > 0)  62             {  63                 rstsate.status = 200;  64                 rstsate.msg = "成功";  65             }  66   67   68             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";  69             return rstsate;  70             //rst 返回1为成功  71             // return Json(new { code = 200, msg = "ok" });  72         }  73         /// <summary>  74         /// 人员主数据新增/更新  75         /// </summary>  76         /// <returns></returns>  77         [HttpPost("AddPersonInfo")]  78         public async Task<ErpMesRts> AddPersonInfo([FromBody] PersonInfoModel  personInfos)  79         {  80             int rst = -1;  81             ErpMesRts rstsate = new ErpMesRts();  82   83             string connectionString = ConnectionStr();//链接字符串  84             DynamicParameters paras = new DynamicParameters();  85             string Ctworkter = JsonConvert.SerializeObject(personInfos);  86             paras.Add("@JosnName", Ctworkter);  87             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小  88             using (IDbConnection connection = new SqlConnection(connectionString))  89             {  90                 try  91                 {  92                     rst = await connection.ExecuteAsync("proc_ERP_MesAddPersonInfo", paras, commandType: CommandType.StoredProcedure);  93                 }  94                 catch (Exception e)  95                 {  96                     rstsate.msg = e.Message.ToString() + "数据库异常";  97   98                 }  99                 // 执行存储过程 100                 //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure); 101  102             } 103             if (rst > 0) 104             { 105                 rstsate.status = 200; 106                 rstsate.msg = "成功"; 107             } 108  109  110             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}"; 111             return rstsate; 112             //rst 返回1为成功 113             // return Json(new { code = 200, msg = "ok" }); 114         } 115         /// <summary> 116         /// 业务组新增/更新 117         /// </summary> 118         /// <returns></returns> 119         [HttpPost("AddBusinessGroup")] 120         public async Task<ErpMesRts> AddBusinessGroup([FromBody] BusinessGroupModel  businessGroups) 121         { 122             int rst = -1; 123             ErpMesRts rstsate = new ErpMesRts(); 124  125             string connectionString = ConnectionStr();//链接字符串 126             DynamicParameters paras = new DynamicParameters(); 127             string Ctworkter = JsonConvert.SerializeObject(businessGroups); 128             paras.Add("@JosnName", Ctworkter); 129             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小 130             using (IDbConnection connection = new SqlConnection(connectionString)) 131             { 132                 try 133                 { 134                     rst = await connection.ExecuteAsync("proc_ERP_MesAddBusinessGroup", paras, commandType: CommandType.StoredProcedure); 135                 } 136                 catch (Exception e) 137                 { 138                     rstsate.msg = e.Message.ToString() + "数据库异常"; 139  140                 } 141                 // 执行存储过程 142                 //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure); 143  144             } 145             if (rst > 0) 146             { 147                 rstsate.status = 200; 148                 rstsate.msg = "成功"; 149             } 150  151  152             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}"; 153             return rstsate; 154             //rst 返回1为成功 155             // return Json(new { code = 200, msg = "ok" }); 156         } 157         /// <summary> 158         /// 组织主数据/部门主数据新增/更新 159         /// </summary> 160         /// <returns></returns> 161         [HttpPost("AddDivision")] 162         public async Task<ErpMesRts> AddDivision([FromBody] DivisionModel   divisions) 163         { 164             int rst = -1; 165             ErpMesRts rstsate = new ErpMesRts(); 166  167             string connectionString = ConnectionStr();//链接字符串 168             DynamicParameters paras = new DynamicParameters(); 169             string Ctworkter = JsonConvert.SerializeObject(divisions); 170             paras.Add("@JosnName", Ctworkter); 171             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小 172             using (IDbConnection connection = new SqlConnection(connectionString)) 173             { 174                 try 175                 { 176                     rst = await connection.ExecuteAsync("proc_ERP_MesAddDivision", paras, commandType: CommandType.StoredProcedure); 177                 } 178                 catch (Exception e) 179                 { 180                     rstsate.msg = e.Message.ToString() + "数据库异常"; 181  182                 } 183                 // 执行存储过程 184                 //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure); 185  186             } 187             if (rst > 0) 188             { 189                 rstsate.status = 200; 190                 rstsate.msg = "成功"; 191             } 192  193  194             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}"; 195             return rstsate; 196             //rst 返回1为成功 197             // return Json(new { code = 200, msg = "ok" }); 198         } 199         /// <summary> 200         /// 物料类型新增/更新 201         /// </summary> 202         /// <returns></returns> 203         [HttpPost("AddProductType")] 204         public async Task<ErpMesRts> AddProductType([FromBody]  ProductTypeModel  productTypes) 205         { 206             int rst = -1; 207             ErpMesRts rstsate = new ErpMesRts(); 208  209             string connectionString = ConnectionStr();//链接字符串 210             DynamicParameters paras = new DynamicParameters(); 211             string Ctworkter = JsonConvert.SerializeObject(productTypes); 212             paras.Add("@JosnName", Ctworkter); 213             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小 214             using (IDbConnection connection = new SqlConnection(connectionString)) 215             { 216                 try 217                 { 218                     rst = await connection.ExecuteAsync("proc_ERP_MesAddProductType", paras, commandType: CommandType.StoredProcedure); 219                 } 220                 catch (Exception e) 221                 { 222                     rstsate.msg = e.Message.ToString() + "数据库异常"; 223  224                 } 225                 // 执行存储过程 226                 //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure); 227  228             } 229             if (rst > 0) 230             { 231                 rstsate.status = 200; 232                 rstsate.msg = "成功"; 233             } 234  235  236             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}"; 237             return rstsate; 238             //rst 返回1为成功 239             // return Json(new { code = 200, msg = "ok" }); 240         } 241         /// <summary> 242         /// 物料主数据新增/更新 243         /// </summary> 244         /// <returns></returns> 245         [HttpPost("AddProduct")] 246         public async Task<ErpMesRts> AddProduct([FromBody] ProductModel products) 247         { 248             int rst = -1; 249             ErpMesRts rstsate = new ErpMesRts(); 250  251             string connectionString = ConnectionStr();//链接字符串 252             DynamicParameters paras = new DynamicParameters(); 253             string Ctworkter = JsonConvert.SerializeObject(products); 254             paras.Add("@JosnName", Ctworkter); 255             // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小 256             using (IDbConnection connection = new SqlConnection(connectionString)) 257             { 258                 try 259                 { 260                     rst = await connection.ExecuteAsync("proc_ERP_MesAddProduct", paras, commandType: CommandType.StoredProcedure); 261                 } 262                 catch (Exception e) 263                 { 264                     rstsate.msg = e.Message.ToString() + "数据库异常"; 265  266                 } 267                 // 执行存储过程 268                 //   rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure); 269  270             } 271             if (rst > 0) 272             { 273                 rstsate.status = 200; 274                 rstsate.msg = "成功"; 275             } 276  277  278             //"{status: = " + code + ", msg = " + msg + ", data = " + null "}"; 279             return rstsate; 280             //rst 返回1为成功 281             // return Json(new { code = 200, msg = "ok" }); 282         } 283  284  285  286  287  288         /* 289         /// <summary> 290         /// 库存组织更新 291         /// </summary> 292         /// <param name="testModel">接收对象</param> 293         /// <returns></returns> 294         [HttpPost("UpdatWorkcenter")] 295         public async Task<string> updateBlog([FromBody] WorkcenterModel testModel) 296         { 297             //这个就代表的你第二层,懂弄?很多层都是一样的 298             299  300             int rst = -1; 301             int code = 500; 302             string msg = "失败"; 303             string connectionString = ConnectionStr();//链接字符串 304             using (IDbConnection connection = new SqlConnection(connectionString)) 305             {    try 306                 {                                                   // 执行存储过程 307                     rst = await connection.ExecuteAsync(" UPDATE Workcenter SET WorkcenterDescription=isnull(@WorkcenterDescription,WorkcenterDescription),IsHB=@IsHB, SiteId=@SiteId,SiteName = @SiteName,IsClosed = @IsClosed WHERE WorkcenterName = @WorkcenterName ", testModel.workcenters); 308                 } 309                 catch (Exception e) 310                 { 311                     msg = e.Message.ToString() + "数据库异常"; 312  313                 } 314             } 315             if (rst > 0) 316             { 317                 code = 200; 318                 msg = "成功"; 319             } 320             return "{code = " + code + ", msg = " + msg + "}"; 321         } 322  323         */ 324  325     } 326 }

View Code

用restful 风格创建接口

WEB API .NET环境发布

 链接字符串

WEB API .NET环境发布

WEB API .NET环境发布

2、webapi发布

WEB API .NET环境发布

发布路径

WEB API .NET环境发布

 发布时选择空文件

WEB API .NET环境发布

 选择路径

WEB API .NET环境发布

 发布完成示例图

WEB API .NET环境发布

 注意编辑接口是会勾选XML输出

WEB API .NET环境发布

 这个路径打包编译时是不会自动编译过去的

3、发布到IIS上

创建应用池时(创建无托管、集成)

WEB API .NET环境发布

 

WEB API .NET环境发布

 部署服务器环境需要安装三个文件

WEB API .NET环境发布

 https://dotnet.microsoft.com/zh-cn/download/dotnet/5.0环境下载、也可参照其他链接https://blog.csdn.net/xiaochenXIHUA/article/details/118027591

环境安装后需要将文件发布IIS上

WEB API .NET环境发布

 同时配置将XML文件考到发布文件里面

WEB API .NET环境发布

 

WEB API .NET环境发布

配制web.config加下面节点

WEB API .NET环境发布

 配置代码

WEB API .NET环境发布WEB API .NET环境发布

 1 <?xml version="1.0" encoding="utf-8"?>  2 <configuration>  3   <location path="." inheritInChildApplications="false">  4     <system.webServer>  5       <handlers>  6         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />  7       </handlers>  8       <aspNetCore processPath="dotnet" arguments=".MesErp.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess" >  9       <environmentVariables> 10  <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> 11  </environmentVariables> 12 </aspNetCore> 13     </system.webServer> 14   </location> 15 </configuration> 16 <!--ProjectGuid: f7e462b4-210d-455c-b73f-b1a6fcbfb0a8-->

View Code

运行webapi

WEB API .NET环境发布