我有一个服务接口:
[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 实体时,它不会弹出。