测试线程静态前提交

This commit is contained in:
minjQiu
2024-08-07 18:44:46 +08:00
parent b13ae6ec88
commit 4e4316c6dc
33 changed files with 1596 additions and 380 deletions
+45
View File
@@ -0,0 +1,45 @@
{
"cVouchType": "49",
"cVouchID": "0000000030",
"dVouchDate": "2015-07-22 00:00:00.000",
"cDwCode": "01004",
"cSSCode": "1",
"cDeptCode": "0401",
"cSSName": "现金",
"iPeriod": 7,
"cPerson": "00043",
"cPersonName": "顾潇",
"cexch_name": "人民币",
"iExchRate": 1,
"iAmount_f": 100.00,
"iAmount": 100.00,
"iRAmount_f": 100.00,
"iRAmount": 100.00,
"cTypeName": "付款单",
"cFlag": "AP",
"iPayForOther": 0,
"bFromBank": 0,
"bToBank": 0,
"bSure": 0,
"cCode": "1001",
"bStartFlag": 0,
"body": [
{
"bPrePay": 0,
"iType": 0,
"cType": "应付款",
"iAmt_f": 100,
"iAmt": 100,
"cKm": "220202",
"cDepName": "采购部",
"cPersonName": "顾潇",
"iRAmt_f": 100.00,
"iRAmt": 100.00,
"cCusVen": "01004",
"iAmt_s": 0,
"iRAmt_s": 0,
"cDepCode": "0401",
"cPersonCode": "00043"
}
]
}
Binary file not shown.
+36 -1
View File
@@ -568,6 +568,41 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.APController.logInfo">
<summary>
日志组件
</summary>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.CloseBillSave(System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
<summary>
收付款单保存
</summary>
<param name="cAccId">系统号</param>
<param name="cCardNum">单据类型编码</param>
<param name="input">报文数据</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.AP48Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
<summary>
收款单保存
</summary>
<param name="cAccId"></param>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.AP49Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
<summary>
收款单保存
</summary>
<param name="cAccId"></param>
<param name="input"></param>
<returns></returns>
</member>
<member name="T:UFIDA.U8.Framework.Api.Controllers.U8.MOController">
<summary>
生产订单
</summary>
</member>
<member name="T:UFIDA.U8.Framework.Api.Controllers.U8.SFCController">
<summary>
车间管理
@@ -710,7 +745,7 @@
<param name="input">报文数据</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.WebApiApplication.__CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
<member name="M:UFIDA.U8.Framework.Api.WebApiApplication.CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
<summary>
缺少程序集全局处理事件
</summary>
@@ -1,5 +1,4 @@
using Autofac.Integration.WebApi;
using Autofac;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -12,12 +11,12 @@ namespace UFIDA.U8.Framework.Api
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
var builder = new ContainerBuilder();
//var builder = new ContainerBuilder();
//builder.RegisterType<GMUtil>().As<IMyService>();
var container = builder.Build();
//var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
//config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
// Web API 路由
config.MapHttpAttributeRoutes();
@@ -0,0 +1,114 @@
using log4net;
using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using UFIDA.U8.Framework.Api.ControlObject.AP;
using UFIDA.U8.Framework.Api.ControlObject.Models;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFIDA.U8.Framework.Api.Unit;
// ReSharper disable InconsistentNaming
namespace UFIDA.U8.Framework.Api.Controllers.U8
{
public class APController : ApiController
{
/// <summary>
/// 日志组件
/// </summary>
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) });
/// <summary>
/// 收付款单保存
/// </summary>
/// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AP/{cCardNum}/CloseBillSave")]
[Route("api/U8/AR/{cCardNum}/CloseBillSave")]
public async Task<BaseResult<dynamic>> CloseBillSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
{
try
{
if (!_cache.TryGetValue($"U8AP_{cAccId}", out BaseLogin baseLogin))
{
baseLogin = new BaseLogin();
var param = await CommUnit.GetLoginParamter(cAccId);
if (param == null)
{
throw new Exception("未能加载指定系统号的登录信息");
}
baseLogin.Init(param, false);
_cache.Set($"U8AP_{cAccId}", baseLogin);
}
var subId = "";
if (cCardNum == "AP48")
{
subId = "AR";
}
if (cCardNum == "AP49")
{
subId = "AP";
}
if (string.IsNullOrWhiteSpace(subId))
throw new Exception("单据标识不正确");
var bo = new UFAPBO();
var res = bo.CloseBillSave(baseLogin, input, subId);
return res;
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary>
/// 收款单保存
/// </summary>
/// <param name="cAccId"></param>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AR/AP48/CloseBillSave")]
public async Task<BaseResult<dynamic>> AP48Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await CloseBillSave(cAccId, "AP48", input);
}
/// <summary>
/// 收款单保存
/// </summary>
/// <param name="cAccId"></param>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AP/AP49/CloseBillSave")]
public async Task<BaseResult<dynamic>> AP49Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await CloseBillSave(cAccId, "AP49", input);
}
}
}
@@ -12,6 +12,6 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// </summary>
public class MOController : ApiController
{
}
}
@@ -4,10 +4,18 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.JScript;
using SqlSugar;
using UFIDA.U8.Framework.Api.Common.Entity;
using UFIDA.U8.Framework.Api.ControlObject.Json;
using UFIDA.U8.Framework.Api.ControlObject.Models;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFIDA.U8.Framework.Api.Unit;
using UFIDA.U8.Framework.Api.Models;
using Yitter.IdGenerator;
using System.Web.UI.WebControls;
using Convert = System.Convert;
// ReSharper disable InconsistentNaming
// ReSharper disable IdentifierTypo
// ReSharper disable FieldCanBeMadeReadOnly.Local
@@ -35,33 +43,107 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillSave")]
public async Task<BaseResult<dynamic>> MoRoutingBillSave(string cAccId,string cCardNum, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> MoRoutingBillSave(string cAccId,string cCardNum, [FromBody] Dictionary<string, object> input)
{
var taskId = 0L;
var db = CommUnit.GetDbClient();
BaseLogin baseLogin=null;
try
{
logInfo.Debug($"接口标识:MoRoutingBillSave,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
if (!_cache.TryGetValue($"U8M_{cAccId}", out BaseLogin baseLogin))
var runtimes = 0;
var u8mTask = new SysU8MTask()
{
baseLogin = new BaseLogin();
U8MPool = $"U8M_{cAccId}"
};
var param = await CommUnit.GetLoginParamter(cAccId);
if (param == null)
#if !DEBUG
while (await db.Queryable<SysU8MTask>().AnyAsync())
{
if (runtimes > 20)
{
throw new Exception("未能加载指定系统号的登录信息");
throw new Exception("当前任务队列过长");
}
baseLogin.Init(param);
runtimes++;
await Task.Delay(100 * runtimes);
//u8mTask.Id = DateTime.Now.Ticks;
if (await db.Queryable<SysU8MTask>()
.AnyAsync(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1))
{
await db.Deleteable<SysU8MTask>()
.Where(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1)
.ExecuteCommandAsync();
}
_cache.Set($"U8M_{cAccId}", baseLogin);
}
#endif
u8mTask.dDate = DateTime.Now;
//if (u8mTask.Id == null)
//{
// u8mTask.Id = DateTime.Now.Ticks;
//}
taskId = await db.Insertable(u8mTask).ExecuteReturnSnowflakeIdAsync();
logInfo.Debug($"开始操作,当前任务ID:{taskId}");
//if (!_cache.TryGetValue($"U8M_{cAccId}", out BaseLogin baseLogin))
//{
// _cache.Clear();
baseLogin = new BaseLogin();
var param = await CommUnit.GetLoginParamter(cAccId);
if (param == null)
{
throw new Exception("未能加载指定系统号的登录信息");
}
logInfo.Debug($"开始登录,当前任务ID:{taskId}");
baseLogin.Init(param,true);
//_cache.Set($"U8M_{cAccId}", baseLogin);
//}
var bf = new MoRoutingBill();
var res=bf.Save( cCardNum, input);
logInfo.Debug($"开始保存,当前任务ID:{taskId}");
BaseResult<string> res;
if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"]))
{
var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>();
res = bf.Save(cCardNum, inputs);
}
else
{
res = bf.Save(cCardNum, input);
}
logInfo.Debug($"退出登录,当前任务ID:{taskId}");
baseLogin.ShutDown();
if (taskId != 0)
{
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
}
return res;
@@ -70,7 +152,21 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
if (taskId != 0)
{
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
}
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
finally
{
if (taskId != 0)
{
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
}
baseLogin?.ShutDown();
}
@@ -85,7 +181,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC90/Save")]
[Route("api/U8/SFC/FC90/Save/{cAccId}")]
public async Task<BaseResult<dynamic>> FC90Save(string cAccId, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> FC90Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSave(cAccId, "FC90", input);
}
@@ -99,7 +195,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC91/Save")]
[Route("api/U8/SFC/FC91/Save/{cAccId}")]
public async Task<BaseResult<dynamic>> FC91Save(string cAccId, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> FC91Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSave(cAccId, "FC91", input);
}
@@ -113,7 +209,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC92/Save")]
[Route("api/U8/SFC/FC92/Save/{cAccId}")]
public async Task<BaseResult<dynamic>> FC92Save(string cAccId, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> FC92Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSave(cAccId, "FC92", input);
}
@@ -127,10 +223,12 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillDelete")]
public async Task<BaseResult<dynamic>> MoRoutingBillDelete(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> MoRoutingBillDelete(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
try
{
logInfo.Debug($"接口标识:MoRoutingBillDelete,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
@@ -166,7 +264,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
}
@@ -182,7 +280,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC90/Delete")]
[Route("api/U8/SFC/FC90/Delete/{cAccId}")]
public async Task<BaseResult<dynamic>> FC90Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC90Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDelete(cAccId, "FC90", input);
}
@@ -196,7 +294,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC91/Delete")]
[Route("api/U8/SFC/FC91/Delete/{cAccId}")]
public async Task<BaseResult<dynamic>> FC91Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC91Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDelete(cAccId, "FC91", input);
}
@@ -210,7 +308,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC92/Delete")]
[Route("api/U8/SFC/FC92/Delete/{cAccId}")]
public async Task<BaseResult<dynamic>> FC92Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC92Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDelete(cAccId, "FC92", input);
}
@@ -224,10 +322,12 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillVerify")]
public async Task<BaseResult<dynamic>> MoRoutingBillVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> MoRoutingBillVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
try
{
logInfo.Debug($"接口标识:MoRoutingBillVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
@@ -263,7 +363,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
}
@@ -279,7 +379,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC90/Verify")]
[Route("api/U8/SFC/FC90/Verify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC90Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC90Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerify(cAccId, "FC90", input);
}
@@ -293,7 +393,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC91/Verify")]
[Route("api/U8/SFC/FC91/Verify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC91Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC91Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerify(cAccId, "FC91", input);
}
@@ -307,7 +407,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC92/Verify")]
[Route("api/U8/SFC/FC92/Verify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC92Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC92Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerify(cAccId, "FC92", input);
}
@@ -321,10 +421,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillUnVerify")]
public async Task<BaseResult<dynamic>> MoRoutingBillUnVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> MoRoutingBillUnVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
try
{
logInfo.Debug($"接口标识:MoRoutingBillUnVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
@@ -360,7 +463,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
}
@@ -376,7 +479,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC90/UnVerify")]
[Route("api/U8/SFC/FC90/UnVerify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC90UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC90UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerify(cAccId, "FC90", input);
}
@@ -390,7 +493,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC91/UnVerify")]
[Route("api/U8/SFC/FC91/UnVerify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC91UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC91UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillUnVerify(cAccId, "FC91", input);
}
@@ -404,7 +507,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/SFC/FC92/UnVerify")]
[Route("api/U8/SFC/FC92/UnVerify/{cAccId}")]
public async Task<BaseResult<dynamic>> FC92UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
public async Task<BaseResult<string>> FC92UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillUnVerify(cAccId, "FC92", input);
}
+13 -14
View File
@@ -1,5 +1,4 @@
using Autofac;
using Autofac.Integration.WebApi;
using Microsoft.JScript;
using Microsoft.Win32;
using System;
@@ -24,7 +23,7 @@ namespace UFIDA.U8.Framework.Api
public WebApiApplication()
{
s_u8Root = __GetU8InstallPath();
s_u8Root = GetU8InstallPath();
s_u8MPath = $@"{s_u8Root}U8M\";
s_u8FrameworkPath = $@"{s_u8Root}Framework\";
s_u8APIFramework = $@"{s_u8Root}UFMOM\U8APIFramework\";
@@ -40,23 +39,23 @@ namespace UFIDA.U8.Framework.Api
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AppDomain.CurrentDomain.AssemblyResolve -= __CurrentDomain_AssemblyResolve;
AppDomain.CurrentDomain.AssemblyResolve += __CurrentDomain_AssemblyResolve;
AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
}
private void ConfigureDependencyInjection(HttpConfiguration config)
{
var builder = new ContainerBuilder();
//builder.RegisterType<GMUtil>().As<>();
//private void ConfigureDependencyInjection(HttpConfiguration config)
//{
// var builder = new ContainerBuilder();
// //builder.RegisterType<GMUtil>().As<>();
var container = builder.Build();
// var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
// config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
//}
private static string __GetU8InstallPath()
private static string GetU8InstallPath()
{
string root;
var installPath = Registry.LocalMachine.OpenSubKey(GlobalConstDefine.Product_Registry_InstallKey);
@@ -70,7 +69,7 @@ namespace UFIDA.U8.Framework.Api
/// <param name="sender"></param>
/// <param name="args"></param>
/// <returns></returns>
private Assembly __CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
//先在已经加载的程序集中选择
foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
@@ -17,7 +17,7 @@
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort>44366</IISExpressSSLPort>
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
@@ -47,12 +47,6 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=8.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.8.0.0\lib\netstandard2.0\Autofac.dll</HintPath>
</Reference>
<Reference Include="Autofac.Integration.WebApi, Version=6.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.WebApi2.6.1.1\lib\net472\Autofac.Integration.WebApi.dll</HintPath>
</Reference>
<Reference Include="Dapper, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Dapper.2.1.35\lib\net461\Dapper.dll</HintPath>
</Reference>
@@ -168,17 +162,17 @@
<Reference Include="Microsoft.Extensions.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.8.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.7.6.3\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.0.1\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.7.6.3\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.0.1\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Logging, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Logging.7.6.3\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.0.1\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.7.6.3\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.0.1\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
</Reference>
<Reference Include="Microsoft.JScript" />
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
@@ -202,8 +196,8 @@
<Reference Include="SQLitePCLRaw.provider.dynamic_cdecl, Version=2.1.8.2226, Culture=neutral, PublicKeyToken=b68184102cba0b3b, processorArchitecture=MSIL">
<HintPath>..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.1.8\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll</HintPath>
</Reference>
<Reference Include="SqlSugar, Version=5.1.4.162, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SqlSugar.5.1.4.162\lib\SqlSugar.dll</HintPath>
<Reference Include="SqlSugar, Version=5.1.4.166, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SqlSugar.5.1.4.166\lib\SqlSugar.dll</HintPath>
</Reference>
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
<HintPath>..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
@@ -238,8 +232,8 @@
<Reference Include="System.Formats.Asn1, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference>
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.7.6.3\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.0.1\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
</Reference>
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
@@ -363,6 +357,9 @@
<Private>True</Private>
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
<Reference Include="Yitter.IdGenerator, Version=1.0.14.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Yitter.IdGenerator.1.0.14\lib\netstandard2.0\Yitter.IdGenerator.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\BundleConfig.cs" />
@@ -401,6 +398,7 @@
<Compile Include="Areas\HelpPage\XmlDocumentationProvider.cs" />
<Compile Include="Controllers\CommonController.cs" />
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\U8\APController.cs" />
<Compile Include="Controllers\U8\MOController.cs" />
<Compile Include="Controllers\U8\SFCController.cs" />
<Compile Include="Global.asax.cs">
@@ -412,7 +410,11 @@
<Compile Include="Unit\CommUnit.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="App_Data\AP49.json" />
<None Include="App_Data\FC90.json" />
<Content Include="App_Data\U8API.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Areas\HelpPage\HelpPage.css" />
<Content Include="Content\bootstrap-grid.css" />
<Content Include="Content\bootstrap-grid.min.css" />
+4
View File
@@ -146,6 +146,10 @@
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.118.0" newVersion="1.0.118.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.17.0" newVersion="2.0.17.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
+1
View File
@@ -28,6 +28,7 @@
<param name="MaxFileSize" value="20480" />
<param name="RollingStyle" value="Date" />
<param name="AppendToFile" value="true" />
<param name="lockingModel" value="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %r - %message%newline" />
</layout>
+7 -6
View File
@@ -60,10 +60,10 @@
<package id="Microsoft.Extensions.Options" version="8.0.2" targetFramework="net48" />
<package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.Primitives" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Abstractions" version="7.6.3" targetFramework="net48" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="7.6.3" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Logging" version="7.6.3" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Tokens" version="7.6.3" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Abstractions" version="8.0.1" targetFramework="net48" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="8.0.1" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Logging" version="8.0.1" targetFramework="net48" />
<package id="Microsoft.IdentityModel.Tokens" version="8.0.1" targetFramework="net48" />
<package id="Microsoft.Web.Infrastructure" version="2.0.1" targetFramework="net48" />
<package id="Modernizr" version="2.8.3" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
@@ -74,7 +74,7 @@
<package id="SQLitePCLRaw.core" version="2.1.8" targetFramework="net48" />
<package id="SQLitePCLRaw.lib.e_sqlite3" version="2.1.8" targetFramework="net48" />
<package id="SQLitePCLRaw.provider.dynamic_cdecl" version="2.1.8" targetFramework="net48" />
<package id="SqlSugar" version="5.1.4.162" targetFramework="net48" />
<package id="SqlSugar" version="5.1.4.166" targetFramework="net48" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.118.0" targetFramework="net48" />
<package id="Swashbuckle" version="5.6.0" targetFramework="net48" />
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net48" />
@@ -87,7 +87,7 @@
<package id="System.Data.SQLite.Linq" version="1.0.118.0" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net48" />
<package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48" />
<package id="System.IdentityModel.Tokens.Jwt" version="7.6.3" targetFramework="net48" />
<package id="System.IdentityModel.Tokens.Jwt" version="8.0.1" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net48" />
@@ -105,4 +105,5 @@
<package id="WebActivator" version="1.5.1" targetFramework="net48" />
<package id="WebActivatorEx" version="2.2.0" targetFramework="net48" />
<package id="WebGrease" version="1.6.0" targetFramework="net48" />
<package id="Yitter.IdGenerator" version="1.0.14" targetFramework="net48" />
</packages>