翼度科技»论坛 编程开发 .net 查看内容

WEB API .NET环境发布

10

主题

10

帖子

30

积分

新手上路

Rank: 1

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

 链接字符串


2、webapi发布

发布路径

 发布时选择空文件

 选择路径

 发布完成示例图

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

 这个路径打包编译时是不会自动编译过去的
3、发布到IIS上
创建应用池时(创建无托管、集成)

 

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

 https://dotnet.microsoft.com/zh-cn/download/dotnet/5.0环境下载、也可参照其他链接https://blog.csdn.net/xiaochenXIHUA/article/details/118027591
环境安装后需要将文件发布IIS上

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

 

配制web.config加下面节点

 配置代码
  1. 1 <?xml version="1.0" encoding="utf-8"?>
  2. 2 <configuration>
  3. 3   <location path="." inheritInChildApplications="false">
  4. 4     <system.webServer>
  5. 5       <handlers>
  6. 6         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
  7. 7       </handlers>
  8. 8       <aspNetCore processPath="dotnet" arguments=".\MesErp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
  9. 9       <environmentVariables>
  10. 10  <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  11. 11  </environmentVariables>
  12. 12 </aspNetCore>
  13. 13     </system.webServer>
  14. 14   </location>
  15. 15 </configuration>
  16. 16
复制代码
View Code运行webapi

 

来源:https://www.cnblogs.com/donywc/archive/2023/05/09/17384647.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具