2013-05-13 25 views
6

Ich versuche, den WCF-Testclient zum Debuggen einer Webmethode zu verwenden, und die Methode erwartet 2 Byte-Arrays als Teil ihrer Eingabe.Eingabe von Werten für ein Byte-Array im WCF-Testclient

Momentan verwende ich den Debugger und platziere Breakpoints, kurz bevor die übergebenen Werte verwendet werden, und setze sie mit dem visuellen Studio-Watch-Fenster.

Gibt es eine einfache Möglichkeit, die Werte für jedes Byte eines Bytearrays mit WCF-Testclient festzulegen?

Ich weiß, dass Sie die Länge des Arrays angeben können, indem Sie "Länge = 100" oder ähnliches eingeben, aber das legt nur die Größe des Arrays fest. Sie müssen dann auf die Dropdown-Liste klicken und den Wert für jedes einzelne Byte einzeln eingeben.

Hat jemand Erfahrung bei der Eingabe von Werten für Arrays, wenn der WCF-Testclient verwendet wird?

+0

Ich habe keine Lösung, aber wenn ich dies tun möchte, verwende ich LinqPad. – flayn

Antwort

0

Was ich getan habe, ist eine statische Methode, die das Array und den neuen Wert akzeptiert (ich übergebe manchmal eine durch Kommas getrennte Zeichenfolge und teile es, manchmal übergebe ich ein "params" arg, etc.).

Mit diesem können Sie die Methode auf der Debugger-Uhr oder dem unmittelbaren Fenster aufrufen. Zum Beispiel können Sie „SetArrayOne()“ jederzeit anrufen müssen Sie die Werte vorgegeben werden, oder Sie können „setArray (...)“ aufrufen und die gewünschte Argumente übergeben:

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

Ich landete eine neue zu schaffen Methode, die keine Parameter empfangen hat, die gerade die Methode aufgerufen hat, die ich testen wollte, indem sie dort den Array-Wert setzt.

Verwandte Themen