2013-05-13 4 views
6

Я пытаюсь использовать тестовый клиент WCF для отладки веб-метода, и метод ожидает, что 2 байтовых массива будут частью его ввода.Ввод значений для массива байтов в тестовом клиенте WCF

На данный момент я только что использовал отладчик и размещал контрольные точки непосредственно перед использованием переданных значений и устанавливал их с помощью окна визуальной студии.

Есть ли простой способ установить значения для каждого байта массива байтов с помощью тестового клиента WCF?

Я знаю, что вы можете указать длину массива, набрав «length = 100» или аналогичный, но это задает только размер массива. Затем вам нужно щелкнуть выпадающее меню и ввести значение для каждого байт по одному.

У кого-нибудь есть опыт ввода значений для массивов при использовании тестового клиента WCF?

+0

У меня нет решения, но когда я хочу это сделать, я использую LinqPad. – flayn

ответ

0

То, что я сделал, это создание статического метода, который принимает массив и новое значение (иногда я передаю строку, разделенную запятыми, и разделяю ее, иногда я передаю аргумент «params» и т. Д.).

С помощью этого метода вы можете вызвать этот метод на часах отладчика или в ближайшем окне. Например, вы можете назвать «SetArrayOne()» в любое время вы должны заранее значения, или вы можете назвать «SetArray (...)» и передать свои желательные аргументы:

byte[] myClassLevelArray1 = new byte[10]; 
byte[] myClassLevelArray2 = new byte[10]; 

public void SetArrayOne() 
{ 
    SetArray(myClassLevelArray1, 1, 2, 3, 4, 5); 
} 

public void SetArrayTwo() 
{ 
    SetArray(myClassLevelArray2, 1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 20, 5, 98, 5, 4); 
} 

public static void SetArray(byte[] myArray, params byte[] newValues) 
{ 
    Array.Copy(newValues, myArray, Math.Min(newValues.Length, myArray.Length)); 
} 
0

Я в конечном итоге создать новый метод, который не получил параметры, которые просто вызвали метод, который я хотел протестировать, установив там значение массива.