我有一個WCF操作MyGetVersion(),它返回一個System.Version。在從Silverlight服務引用調試對其的調用時,我驗證了該服務返回了正確的System.Version對象。在服務引用,自動生成方法,包括:Silverlight ServiceReference導致MethodAccessException
public System.Version EndMyGetVersion(System.IAsyncResult result) {
object[] _args = new object[0];
System.Version _result = ((System.Version)(base.EndInvoke("MyGetVersion", _args, result)));
return _result;
}
引發異常:
嘗試通過方法「DynamicClass.ReadVersionFromXml(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext, System.Xml.XmlDictionaryString [],System.Xml.XmlDictionaryString [])'訪問方法'System.Version..ctor()'失敗。
我不得不打開「CLR異常中斷」助手來看看這個。否則,它是一個TargetInvocationException。據我所知,System.Version()構造函數是公開的。我究竟做錯了什麼?
謝謝,不幸的是合同被其他服務和其他客戶使用期望一個System.Version。我可能不得不添加另一個操作,我只是將它作爲字符串返回給Silverlight客戶端。 – GWTF
您也可以更改上面的答案中添加的SL生成的代理。這種方法唯一的問題是,無論何時從Silverlight更新服務引用,都必須重新替換類。 – carlosfigueira