wcf - customizando documento de serviço
Pergunta
Eu sou novo na programação do WCF e em suas classes de distribuição, etc.Estou tentando produzir um documento de serviço AtomPub programaticamente quando alguém tenta acessar o endereço raiz do meu serviço.Só consigo fazer isso até certo ponto usando as classes ServiceDocument, ResourceCollectionInfo, Workspace -
<service>
<app:workspace>
<a10:title type="text">Sample Repository</a10:title>
<app:collection href="http://some_url">
<a10:title type="text">Root Collection</a10:title>
</app:collection>
</app:workspace>
</service>
No entanto, gostaria de acrescentar alguns personalizado atributos e elementos como pode ser visto abaixo.Observe os atributos xmlns, elementos cmisra etc.
<service
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app"
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/">
<workspace>
<atom:title>Sample Repository</atom:title>
<collection href="http://some_url">
<atom:title>Root Collection</atom:title>
<cmisra:collectionType>root</cmisra:collectionType>
</collection>
</workspace>
</service>
Não há nada disponível no site do MSDN ou em outro lugar.Qualquer contribuição sobre como conseguir isso seria apreciada.
Obrigado!
Obrigado.
Solução
O ResourceCollectionInfo
classe tem duas propriedades ElementExtensions
e AttributeExtensions
que pode ser usado para personalizar a serialização de um ResourceCollectionInfo
.Observe que a maioria dos elementos de distribuição possui essas extensões, que funcionam com os formatadores RSS e Atom.