0

我有一个名为 Document 的 MessageContract,如下所示:

[MessageContract]
public class Document : IDisposable
{
    [MessageHeader(MustUnderstand = true)]
    public string FileName;

    [MessageHeader(MustUnderstand = true)]
    public bool IsUploaded = false;

    [MessageBodyMember(Order = 1)]
    public Stream FileByteStream;

    public void Dispose()
    {
        if (FileByteStream != null)
        {
            FileByteStream.Close();
            FileByteStream = null;
        }
    }
}

这在大多数情况下都很好。它出现在智能感知中,我可以很好地实例化它。但我需要添加一个如下所示的新合同:

[MessageContract]
public class Dummy
{
    public int DummyID;
    public Image DummyImage;
    public int PageNumber;
}

看起来很简单。我构建了项目并更新了我的服务参考。但是那个类没有出现,我无法实例化它。

关于我在这里做错了什么的任何想法?

4

2 回答 2

0

我从这里得到了答案。

只有服务实际使用的类型才会反映在元数据中。

我没有使用 DataContract 的操作合同。我当时不需要一个,所以我没有成功。但显然,除非您有一个使用它的人,否则不会为该 DataContract 生成元数据。

于 2013-06-17T14:19:04.313 回答
0

在这里,您还没有声明 DummyId、DummyImage 和 PageNumber 的放置位置。在消息正文或消息头中。有关使用消息合同的更多详细信息,请参见此处

于 2013-06-14T16:45:29.387 回答