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中的HttpClientFactory类用法详解

    .NET Core中的HttpClientFactory类用法详解 在.NET Core中,使用HttpClient发出Http请求的场景非常普遍,而且HttpClient由于某些原因并不是线程安全的,所以我们通常需要注意HttpClient的生命周期和使用方式。HttpClientFactory则为我们提供了方便的HttpClient管理机制。 HttpC…

    C# 2023年6月3日
    00
  • 通过C#编写一个简易的Windows截屏增强工具

    一、前言 在本篇攻略中,我们将详细讲解如何使用C#编写一个简易的Windows截屏增强工具。该工具可以实现采集屏幕截图、标注图片、保存图片等功能,为用户提供更加便捷的截屏体验。 二、环境准备 在开始编写代码前,我们需要准备如下环境:- Windows操作系统- Visual Studio 2019开发环境- .NET Framework 4.7.2运行库 三…

    C# 2023年5月15日
    00
  • 理解ASP.NET Core 启动类(Startup)

    在 ASP.NET Core 中,Startup 类是应用程序的入口点,它负责配置应用程序的服务和中间件。以下是 ASP.NET Core 启动类的完整攻略: 步骤一:配置服务 在 ASP.NET Core 中,可以使用 ConfigureServices 方法来配置应用程序的服务。以下是一个示例: public class Startup { public…

    C# 2023年5月17日
    00
  • C#如何让winform程序中的输入文本框保留上次的输入

    要让WinForm程序中的输入文本框保留上次的输入,一种比较常见的方法是使用应用程序设置(Application Settings),下面我将提供具体的攻略。 第一步:启用应用程序设置 在Visual Studio中打开你的WinForm项目; 打开项目属性窗口(可以通过在解决方案资源管理器中右键单击项目并选择“属性”或者通过菜单栏的“项目”->“属性…

    C# 2023年6月6日
    00
  • C#聊天程序服务端与客户端完整实例代码

    下面我将为您详细讲解“C#聊天程序服务端与客户端完整实例代码”的完整攻略。 关于“C#聊天程序服务端与客户端完整实例代码” 这是一篇介绍如何使用C#语言实现聊天程序的完整攻略。其中包括服务端和客户端的完整代码。 服务端使用C#语言实现,使用TCP协议进行通信。并且,服务端为多线程模型,能够同时处理多个客户端连接请求。 客户端使用C#语言实现,可以与服务端建立…

    C# 2023年6月7日
    00
  • C#在MEF框架中手动导入依赖模块

    C#在MEF(Managed Extensibility Framework,托管可扩展性框架)框架中手动导入依赖模块的过程,可以通过以下步骤来完成: 定义一个C#类库(Class Library)来实现MEF插件的导入 首先,在Visual Studio中创建一个C#类库项目,并将其命名为“Plugin”。在项目中添加一个Router接口和一个实现该接口的…

    C# 2023年6月1日
    00
  • C# ODP.NET 调用Oracle函数返回值时报错的一个解决方案

    下面是详细讲解“C#ODP.NET调用Oracle函数返回值时报错的一个解决方案”的完整攻略。 问题描述 在使用C#的ODP.NET连接Oracle数据库时,调用Oracle函数返回值时,往往会出现“Oracle.DataAccess.Client.OracleException: ORA-06502: PL/SQL: 数组或者记录数据类型必须具体化来解决这…

    C# 2023年5月15日
    00
  • C# DateTime.AddMinutes()方法: 将指定的分钟数加到指定的日期上

    DateTime.AddMinutes()是C#语言中DateTime类型的一个方法,它可以在现有日期上增加指定的分钟数,并返回得到的新日期(新的DateTime对象)。其具体定义为 public DateTime AddMinutes(double value),其中value表示要增加的分钟数,可以是正数(增加)也可以是负数(减少)。 下面是DateTi…

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