Используя 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

Другие вопросы по тегам