【发布时间】:2009-12-14 12:50:50
【问题描述】:
我有一个服务接口:
[ServiceContract]
[ServiceKnownType(typeof(Models.ArticleImage))]
public interface IPhotoManagementService
{
[OperationContract]
bool Login(string username, string password);
[OperationContract]
bool IsLoggedIn();
[OperationContract]
void UpdateImage(string articleID, string selectedImage);
}
如您所见,我在 ServiceContract 上指定了 typeof(Models.ArticleImage)。
因此,构建此服务的 WSDL 应该会导致 ArticleImage 在 WSDL 中弹出。不幸的是,这根本不会发生。这是为什么呢?
ArticleImage 上有 DataContract。当我在界面中返回一个 ArticleImage 时,WSDL 会选择 ArticleImage。
编辑:它甚至没有在消费项目的服务引用中弹出!
这是大量测试的结果:
- 我尝试添加的模型是 LINQ to SQL 模型。
- 当我使用 ServiceKnownType 添加普通模型时,它可以工作。
- 当我在界面中使用 LINQ to SQL 实体时,它可以工作。
- 当我通过 ServiceKnownType 添加我的 LINQ to SQL 实体时,它不会弹出。
【问题讨论】:
标签: wcf web-services .net-3.5 serviceknowntype