Используя SAP .NET Connector 3.0, медленный вход?
Вопрос в основном: "Я не ошибаюсь?" или "Это просто так".
Я вхожу в свою систему SAP, используя следующий код. Файл конфигурации настроен для SNC
Backend = new BackendConfig();
RfcDestinationManager.RegisterDestinationConfiguration(Backend);
SapRfcDestination = RfcDestinationManager.GetDestination("P38");
SapRap = SapRfcDestination.Repository;
// Create the function for MD04
BapiMD04 = SapRap.CreateFunction("MD_STOCK_REQUIREMENTS_LIST_API");
Для завершения всего вышеперечисленного требуется около 30 секунд.
Вход в SAP обычным способом с использованием SAP и панели входа занимает 4 секунды.
Будет ли использование коннектора SAP всегда медленным или я что-то не так делаю?
РЕДАКТИРОВАТЬ 1: класс BackendConfig
public class BackendConfig : IDestinationConfiguration
{
public RfcConfigParameters GetParameters(String destinationName)
{
if ("P38".Equals(destinationName))
{
RfcConfigParameters parms = new RfcConfigParameters();
parms.Add(RfcConfigParameters.AppServerHost, "SAPP38.Danfoss.net");
parms.Add(RfcConfigParameters.SystemNumber, "86");
parms.Add(RfcConfigParameters.SncMode, "1");
parms.Add(RfcConfigParameters.SncPartnerName, "p:SAPServiceP38@danfoss.net");
// parms.Add(RfcConfigParameters.User, "AUTO0101");
// parms.Add(RfcConfigParameters.Password, "anyth1ng");
parms.Add(RfcConfigParameters.Client, "010");
parms.Add(RfcConfigParameters.Language, "EN");
parms.Add(RfcConfigParameters.PoolSize, "5");
parms.Add(RfcConfigParameters.MaxPoolSize, "10");
parms.Add(RfcConfigParameters.IdleTimeout, "600");
return parms;
}
else if ("T38".Equals(destinationName))
{
RfcConfigParameters parms = new RfcConfigParameters();
parms.Add(RfcConfigParameters.AppServerHost, "blahblahblah");
parms.Add(RfcConfigParameters.SystemNumber, "81");
parms.Add(RfcConfigParameters.SncMode, "1");
parms.Add(RfcConfigParameters.SncPartnerName, "blahblahblah");
parms.Add(RfcConfigParameters.Client, "010");
parms.Add(RfcConfigParameters.Language, "EN");
parms.Add(RfcConfigParameters.PoolSize, "5");
parms.Add(RfcConfigParameters.MaxPoolSize, "10");
parms.Add(RfcConfigParameters.IdleTimeout, "600");
return parms;
}
else return null;
}
// The following two are not used in this example:
public bool ChangeEventsSupported()
{
return false;
}
public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
}
1 ответ
Ваш код выглядит хорошо.
По моему опыту использования SAP Connector, первоначальное соединение всегда медленное - больше, чем просто вход в систему через клиент SAP. Последующие вызовы к соединителю намного быстрее, поскольку соединение было установлено.
30 секунд кажется немного много, хотя. Проверьте:
Нет проблем с поиском DNS для указанного вами сервера
У вас установлена последняя версия коннектора SAP на SAP Service Marketplace