Как я могу заставить Tripp-Lite KVM Switch работать в Ubuntu?

Как указывает Филип У , вам, возможно, придется прибегнуть к пользовательскому связующему модели, подобному этому (модифицированному для привязки к фактическому типу параметра):

public IEnumerable GetCategories([ModelBinder(typeof(CommaDelimitedArrayModelBinder))]long[] categoryIds) 
{
    // do your thing
}

public class CommaDelimitedArrayModelBinder : IModelBinder
{
    public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
    {
        var key = bindingContext.ModelName;
        var val = bindingContext.ValueProvider.GetValue(key);
        if (val != null)
        {
            var s = val.AttemptedValue;
            if (s != null)
            {
                var elementType = bindingContext.ModelType.GetElementType();
                var converter = TypeDescriptor.GetConverter(elementType);
                var values = Array.ConvertAll(s.Split(new[] { ","},StringSplitOptions.RemoveEmptyEntries),
                    x => { return converter.ConvertFromString(x != null ? x.Trim() : x); });

                var typedValues = Array.CreateInstance(elementType, values.Length);

                values.CopyTo(typedValues, 0);

                bindingContext.Model = typedValues;
            }
            else
            {
                // change this line to null if you prefer nulls to empty arrays 
                bindingContext.Model = Array.CreateInstance(bindingContext.ModelType.GetElementType(), 0);
            }
            return true;
        }
        return false;
    }
}

И тогда вы можно сказать:

/Categories?categoryids=1,2,3,4 и ASP.NET Web API будет правильно связывать ваш массив categoryIds.

0
задан 06.05.2020, 06:52

1 ответ

Перезагрузите сервер или компьютер с выбранным портом и подключенным kvm, без драйверов.

1
ответ дан 06.05.2020, 06:53
  • 1
    I' ve нашел, что это работает лучше всего, если система находится на активном порте полностью посредством процесса начальной загрузки. Если это перестало работать, полагайте, что свопинг некоторых кабелей видит, следует ли проблема за кабелем или портом – Marc Hughes 06.05.2020, 06:53
  • 2
    Ожидайте поэтому, чем Ваше высказывание состоит в том, что я должен перезапустить все свои серверы, в то время как они находятся на порте, и затем они будут все работать, да который не имеет никакого смысла. Они должны просто работать. Кабели являются прямыми от TripLite. – Ardee Aram 06.05.2020, 06:54

Теги

Похожие вопросы