|
@@ -165,19 +165,6 @@ namespace EVCB_OCPP.WSServer
|
|
|
};
|
|
|
private CancellationTokenSource _cts = new CancellationTokenSource();
|
|
|
private CancellationToken _ct;
|
|
|
-
|
|
|
- private StationConfigService _StationConfigService = null;
|
|
|
- private StationConfigService StationConfigService
|
|
|
- {
|
|
|
- get
|
|
|
- {
|
|
|
- if (_StationConfigService is null)
|
|
|
- {
|
|
|
- _StationConfigService = serviceProvider.GetRequiredService<StationConfigService>();
|
|
|
- }
|
|
|
- return _StationConfigService;
|
|
|
- }
|
|
|
- }
|
|
|
#endregion
|
|
|
|
|
|
internal Dictionary<string, WsClientData> GetClientDic()
|
|
@@ -191,6 +178,8 @@ namespace EVCB_OCPP.WSServer
|
|
|
internal LoadingBalanceService LoadingBalanceService => _loadingBalanceService;
|
|
|
internal ProfileHandler ProfileHandler => profileHandler;
|
|
|
|
|
|
+ internal readonly List<Func<WsClientData, CancellationToken, Task>> InitActions = new List<Func<WsClientData, CancellationToken, Task>>();
|
|
|
+
|
|
|
public async Task StartAsync(CancellationToken cancellationToken)
|
|
|
{
|
|
|
GlobalConfig.DenyModelNames = await webDbService.GetDenyModelNames(cancellationToken);
|
|
@@ -1028,13 +1017,13 @@ namespace EVCB_OCPP.WSServer
|
|
|
private async Task InitializeEVSE(WsClientData session)
|
|
|
{
|
|
|
// Pending mode 下發設定
|
|
|
- string connectorType = await mainDbService.GetMachineConnectorType(session.ChargeBoxId);
|
|
|
+ string connectorType = await mainDbService.GetMachineConnectorType(session.ChargeBoxId, session.DisconnetCancellationToken);
|
|
|
if (!string.IsNullOrEmpty(connectorType) &&
|
|
|
(connectorType.Contains("6") || connectorType.Contains("7") || connectorType.Contains("8") || connectorType.Contains("9")))
|
|
|
{
|
|
|
session.IsAC = false;
|
|
|
}
|
|
|
- await mainDbService.SetMachineConnectionType(session.ChargeBoxId, session.UriScheme.Contains("wss") ? 2 : 1);
|
|
|
+ await mainDbService.SetMachineConnectionType(session.ChargeBoxId, session.UriScheme.Contains("wss") ? 2 : 1, session.DisconnetCancellationToken);
|
|
|
|
|
|
string requestId = string.Empty;
|
|
|
MessageResult response = null;
|
|
@@ -1062,7 +1051,11 @@ namespace EVCB_OCPP.WSServer
|
|
|
session.ChargeBoxId, key: "StopTransactionOnInvalidId", value: "True");
|
|
|
}
|
|
|
|
|
|
- await StationConfigService?.CheckAndUpdateEvseConfig(session, session.DisconnetCancellationToken);
|
|
|
+ foreach (var initFunction in InitActions)
|
|
|
+ {
|
|
|
+ await initFunction(session, session.DisconnetCancellationToken);
|
|
|
+ }
|
|
|
+ //await StationConfigService?.CheckAndUpdateEvseConfig(session, session.DisconnetCancellationToken);
|
|
|
}
|
|
|
|
|
|
private void Send(WsClientData session, string msg, string messageType, string errorMsg = "")
|