1) Я хочу, чтобы клиентское приложение добавляло ссылку на службу WCF
2) Клиентское приложение должно иметь возможность отправлять учетные данные для этой службы WCF
3) На основеРазрешения для учетных данных, служба WCF должна возвращать соответствующий интерфейс (контракт на обслуживание) клиенту
4) Клиент затем использует его.
например, предположим, у меня есть класс на сервере, который определяет сущность с именем «Актив»'и у меня есть несколько методов, связанных со всеми возможными операциями над ним
Class Asset
{
Add()
{
.....
}
Edit()
{
......
}
Flag()
{
......
}
Deploy()
{
........
}
}
Теперь у меня есть клиентское приложение, которое хочет выполнить некоторые действия над «Активом».Но я не хочу отдавать весь класс DLL клиенту.Вместо этого хочу дать только интерфейс.какой клиент может потреблять и вызывать соответствующие действия над ним.
Теперь проблема в том, что клиентское приложение добавляет ссылку на службу WCF.Каким образом соответствующий интерфейс для класса активов может быть возвращен клиенту на основе его WS * или учетных данных аутентификации.Предоставляет ли .Net 4.0 простой способ динамического создания и возврата контракта на обслуживание?
, например,
//following is pseudo code
If(Current.User.Role == 'Admin')
{
return IAssetsForAdmin;
}
else
{
return IAssetsForGeneralUser;
}
Interface IAssetForAdmin
{
Add();
Edit();
Flag();
}
Interface IAssetForGeneralUser
{
Flag();
}