我意識到這是舊的,但想提供一個答案,因爲我剛剛爲使用此想法的同事創建了示例應用程序。所有這些工作都可以在消費者/測試客戶端完成。
如果您查看使用者/測試客戶端上的代碼,更具體地說,作爲服務引用的一部分生成的類,您將看到您感興趣的[DataContract]類型。這應該確保選中「顯示所有文件」。深入到'Reference.cs'類。 這是我的測試類的從Reference.cs頂部:
namespace WebApplication1.UCCTestSvcRef {
using System.Runtime.Serialization;
using System;
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="UCCRecord", Namespace="http://schemas.datacontract.org/2004/07/UCCTest")]
[System.SerializableAttribute()]
public partial class UCCRecord : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
,你將需要使用的重要位是namespace
和partial class
。爲了使用這些,你只需要在相同類型的測試客戶端中創建一個新類,然後重寫ToString()方法。 下面是如何從消費者/測試客戶端上新創建的UCCRecord.cs文件中執行此操作的示例。
namespace WebApplication1.UCCTestSvcRef
{
public partial class UCCRecord
{
public override string ToString()
{
return "Key: " + Key.ToString() + ", Time: " + Timestamp.ToString("d") + ", Value: " + Value;
}
}
}
請注意,我只能引用Key
和Timestamp
和Value
,因爲他們是[數據成員]值的[DataContract]。
這是相對簡單的,如果你知道你在找什麼。如果此處有任何不清楚的地方,請告訴我,我會嘗試澄清。
謝謝
你希望看到這個ToString方法的結果? – 2009-07-25 10:27:19