我在我的WCF接口類中爲每個操作約定使用[ServiceKnownType(typeof(Document))]
。我想避免使用此KnownType。而是在web.config中使用DeclaredTypes。我可以獲得有關如何在Web.config文件中配置DeclaredTypes的任何幫助。在WCF中使用聲明類型
3
A
回答
3
在配置中添加已知類型的選項僅適用於數據合同,而不適用於服務合同。如果其中Document
從派生類型始終是相同的(而不是System.Object
),你可以通過使用配置選項(在MSDN更多信息),這將是這個樣子:
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="MyNamespace.DocumentBase, MyAssembly, Version=...">
<knownType type="MyNamespace.Document, MyAssembly, Version=..."/>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
如果這不適用,那麼另一種選擇是將此選項傳遞給DataContractSerializer
構造函數,您可以通過使用可應用於整個服務的某些行爲來完成此任務。用NetDataContractSerializer
代替DataContractSerializer
這個帖子對你來說是一個很好的起點(而不是替換串行器,只是返回另一個DataContractSerializer
實例,但總是將typeof(Document)
添加到傳遞給它的已知類型中。
相關問題
- 1. 在類型聲明中引用模塊
- 2. 在類聲明中聲明未知類型c#
- 3. 如何在泛型類聲明中使用泛型?
- 4. 用泛型類聲明java
- 5. Scala中的類型聲明
- 6. 我可以在預先聲明的類中使用類型嗎?
- 7. Haskell類型聲明
- 8. 無類型聲明
- 9. 聲明新類型
- 10. Data.Map類型聲明
- 11. Java類型聲明
- 12. 聲明的類型
- 13. 聲明typedef類型
- 14. Storage.prototype.setObject聲明類型
- 15. 空類型聲明
- 16. Swift:使用未聲明的類型'ViewController'
- 17. 使用未聲明的類型「ARConfiguration」
- 18. 使用未聲明的類型「SimplePing」
- 19. 使用未聲明的類型'sqlite3_stmt'
- 20. 使用未聲明的類型'XMLDocument'
- 21. 使用未聲明的類型FBRequest
- 22. 使用未聲明的類型'KIFTestActor'
- 23. 使用未聲明的類型WKActionSheet
- 24. 使用未聲明的類型'UIViewController'
- 25. 使用類型聲明進行優化
- 26. 使用未聲明的類型「球員」
- 27. 使用未聲明的類型「JSONDictionary」
- 28. 使用未聲明的類型'CPTMutableAxisLabelSet'
- 29. 使用未聲明的類型'MFMessageComposeViewControllerDelegate swift'
- 30. 使用未聲明的類型'ContactsTableViewCell'