我有一个WCF服务有一个BaseForm,它继承了很多次(100+),一些(10+)也有多层继承。所有派生形式都列为KnownTypes。
我遇到的问题是服务启动和生成客户端引用所需的时间。使用WCF测试客户端作为测试,它需要大约10分钟才能完成。如果我没有引用KnowTypes(或只列出一对),则需要大约1.5分钟才能完全完成。
有没有看到发生了什么,为什么这么长时间?还是有比标准更好的方法?
干杯
答案 0 :(得分:0)
为您的服务生成的WSDL有多大?根据这些已知类型的大小,您可能会在“服务引用”或代理中包含大量数据。
作为KnownType
包含的每个对象都将添加到WSDL或服务元数据中。这将至少包括
当您连接到服务以请求元数据时,正如WCF测试客户端在您提供服务URL时所做的那样,它将需要
你能做些什么?你可能不需要做任何事情。这是一次性操作 - 一旦您的服务客户端知道可以发送和接收的类型,它就会存储它们(作为生成的代码)并重用它们。