Контракт об эксплуатации WCF и критерии Nhibernate IC

Мы пытаемся создать крутой API с использованием WCF и ICriteria, например:

[ServiceContract]
public class ProductService
{
[OperationContract]
public List<Product> Get()

[OperationContract]
public List<Product> GetByCriteria(Criteria criteria)

}

Мы думаем об использовании DetachedCriteria, чтобы любой мог его отправить, и мы подключаем его к сеансу в службе для выполнения запроса перед нашей БД.

Есть ли кто-нибудь, кто создает такой API? Должны ли мы использовать критерии ICriteria от Nhibernate? Есть еще какие-нибудь интересные идеи?

Спасибо.


person rabashani    schedule 23.02.2009    source источник


Ответы (1)


Это не крутой API. Он объектно-ориентированный, а не сервис-ориентированный. И не получится.

Вам нужно будет использовать KnownTypeAttribute (или ServiceKnownTypeAttribute) для полиморфных запросов. (см. этот вопрос).

Кроме того, это не очень элегантное решение, и я бы отговорил вас от этого. Будьте откровенны, находясь в Service World.

person Krzysztof Kozmic    schedule 23.02.2009
comment
Вы можете прислать мне лучший пример? - person rabashani; 23.02.2009
comment
Не будьте слишком общими и не загромождайте свои службы WCF другим кодом инфраструктуры инфраструктуры. Сделайте вашу услугу конкретной и ясной. GetProductsByColor или GetProductsByTypeAndPriceRange - хорошие примеры. - person Krzysztof Kozmic; 23.02.2009