WEB API .NET环境发布

1、创建WEBAPI

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环境发布

 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=".\logs\stdout" 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环境发布

 

原文链接:https://www.cnblogs.com/donywc/archive/2023/05/09/17384647.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:WEB API .NET环境发布 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • .Net Core使用Logger实现log写入本地文件系统

    下面是详细讲解”.Net Core使用Logger实现log写入本地文件系统”的完整攻略。 一、前言 在开发过程中,记录系统运行状态和错误信息是非常重要的一件事情,这时候就需要使用log来记录。在.Net Core中,可以通过Logger实现log写入本地文件系统。 二、Logger介绍 Logger是.NET Core框架中的一个基本组件,它允许您轻松地记…

    C# 2023年6月3日
    00
  • ASP.NET Core实现文件上传和下载

    一、ASP.NET Core实现文件上传的完整攻略 设置文件上传的API接口 要实现文件上传,首先需要在ASP.NET Core的API接口中设置文件上传的路由路径和它所用的http请求方式。例如,下面的代码演示了如何在API接口中设置文件上传的路由路径和它所用的http请求方式。 [HttpPost] [Route("api/uploadfile…

    C# 2023年6月3日
    00
  • ASP.NET对txt文件相关操作(读取、写入、保存)

    ASP.NET 中读取、写入、保存文本文件(txt 文件),可以利用文件类 (File Class) 中的静态方法来完成。具体方法和示例说明如下: 读取文本文件 语法: string data = File.ReadAllText(filepath); 其中,filepath 是文本文件的路径。返回的字符串 data 是文本文件中的所有内容。 示例: 假设有…

    C# 2023年6月3日
    00
  • c# 理解csredis库实现分布式锁的详细流程

    下面是关于实现分布式锁的详细攻略: 1. 简介 在分布式系统中,分布式锁是实现数据安全访问的一种重要手段。常见的分布式锁实现方法有使用Redis实现,在C#中可以使用csredis库来方便地实现分布式锁。 csredis是一个Redis的C#客户端,提供了简单、高性能、高可靠性的封装。在csredis中实现分布式锁需要使用到Redis的原子命令setnx(S…

    C# 2023年6月3日
    00
  • LINQ基础之Intersect、Except和Distinct子句

    LINQ基础之Intersect、Except和Distinct子句 在LINQ中,Intersect、Except和Distinct都是集合操作符,用于将两个或多个集合进行相应的操作,并返回相应的结果集。 Distinct子句 Distinct操作符用于从序列中过滤重复的元素,只保留第一个出现的元素。例如: var numbers = new [] { 1…

    C# 2023年5月31日
    00
  • C#端口扫描器的编写方法

    C#端口扫描器的编写方法 在 C# 中编写端口扫描器,通常需要以下步骤: 步骤1:创建控制台应用程序 首先,我们需要创建一个控制台应用程序,作为扫描器的框架。可在 Visual Studio 中选择 文件 -> 新建 -> 项目,选择控制台应用程序并命名它。 步骤2:定义扫描函数 ScanPorts() 扫描函数 ScanPorts() 的作用是…

    C# 2023年5月15日
    00
  • c# 数据标注与数据校验

    以下是“c# 数据标注与数据校验”的完整攻略: 什么是数据标注与数据校验 在C#中,数据标注和数据校验是用来确保输入数据的有效性的两个重要概念。数据标注可以将各种标记应用于数据,使得我们可以在数据类中定义该数据的元数据。而数据校验可以帮助保证数据符合特定的规则和限制条件,从而消除了由错误数据引起的问题。 数据标注详解 什么是数据标注 数据标注是一种将标记应用…

    C# 2023年5月31日
    00
  • C# WinForm实现自动更新程序的方法详解

    C# WinForm实现自动更新程序的方法详解 在开发Windows应用程序时,自动更新功能是一项非常重要的功能。本文将介绍如何使用C# WinForm实现自动更新程序的方法。 第一步:设计自动更新界面 在设计WinForm的自动更新界面中,需要考虑以下几个方面: 显示当前应用程序版本号和更新版本号; 显示更新进度和下载速度; 提供更新日志和更新说明; 提供…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部