Регистрация     
Последние записи в блогах
Ваш вклад в Windows Communication Foundation
Ефимцева Наталия опубликовала 20.06.2010, 18:34 в блог 'My blog'

Если Вы являетесь разработчиком/архитектором/тестировщиком и в своих проектах используете WCF, то опрос (Welcome to the .NET WCF Interoperability Survey), проводимой командной разработчиков Windows Communication Foundation, создан специально для Вас.

Обеспечение интероперабельность между платформами должны быть легко и просто, правда? Но, к сожалению, это не всегда так. Но Ваш feedback позволит в значительной мере улучшить совместимость и взаимодействие между платформами, в частности по средствам WCF. Пожалуйста, отправьте свой отзыв до 15 июля!

Опрос: http://mymfe.microsoft.com/WCF/Feedback.aspx?formID=283




Тэги: WCF
Просмотров: 91 |  Комментариев: 0 | 
 | Голосов: 0 | 
.Net 4.0: сценарии использования режима In-Process Side-by-Side (Inproc SxS)
Ефимцева Наталия опубликовала 08.05.2010, 19:01 в блог 'My blog'

Inproc SxS - это новый функционал CLR 4.0, который позволяет запускать несколько версий .Net CLR в рамках одного процесса (см. статью "Подход In-Process Side-by-Side"). Данная возможность особенно актуальная с выходом .Net 4.0, т.к. теперь помимо новых возможностей платформы .Net, мы имеем и новую среду выполнения – CLR 4.0. Как видно из рисунка ниже .Net 2.0/3.0/3.5/3.5SP1 все использовали и базировались на CLR версии 2.0. Очевидно, что с введение новой CLR возникнет вопрос о совместимости и работоспособности кода, ранее написанного для платформы .Net младших версий.

Основная задача Inproc SxS - это решить вопрос совместимости и параллельного использования модулей/надстроек (Add-In и т.п.), написанных на .Net различных версий. Данный вопрос хорошо освещен в следующей статье "In-Process Side by Side (Part1)", поэтому не будем подробно на этом останавливаться, а приведем несколько примеров использования In-Process Side-by-Side для Office Add-In:

  1. Открытие существующих документов Office в новой версии пакета MS Office с возможностью использования Office Add-In, написанных для предыдущих версий пакета MS Office. Теперь данный сценарий может быть реализован корректно: благодаря Inproc SxS новые и старые Add-In’ы могут работать совместно в рамках одного экземпляра MS Office.
  2. Обратная ситуация: открытие новых документов в предыдущей версии пакета MS Office с возможностью использования Office Add-In, написанных для новой версии пакета MS Office. Теперь данный сценарий может быть реализован корректно: благодаря Inproc SxS новые Add-In'ы, например, для CLR vNext (условно следующей версии .Net) и "старые" Add-In'ы (CLR 4.0) будут работать совместно корректно.

Важно понимать, что Inproc SxS - это решение вопроса совместимости модулей/надстроек, написанных на различных версиях .Net. Inproc SxS - это не замена миграции или решения вопроса совместимости приложения целиком с новой версией .Net.

Рассмотрим следующие два сценария:

  1. У нас есть библиотека (а не Add-In), написанная на .Net 3.5. Мы планируем ее использовать в нашем новом проекте и приложении, которое написано на .Net 4.0. В этом случае нам необходимо убедиться, что библиотека, написанная на .Net 3.5, корректно выполняется в среде .Net 4.0, т.е. режим Inproc SxS в данном случае не решит напрямую проблем совместимос...


    Тэги: .net
    Просмотров: 58 |  Комментариев: 0 | 
     | Голосов: 0 | 
WCF: аутентификация по Kerberos и HTTPS передача данных
Ефимцева Наталия опубликовала 08.05.2010, 18:11 в блог 'My blog'

Задача: установить между клиентом и сервисом WCF безопасное соединение на транспортном уровне (с использование сертификата) и при этом применить аутентификацию по протоколу Kerberos.

Решение: кастомная привязка (binding) c параметром authenticationMode, установленным в значение KerberosOverTransport.

<customBinding>
   <binding name="kerberosCustomBinding">
      <security authenticationMode="KerberosOverTransport" />
      <httpsTransport />
   </binding>
</customBinding>

Примечание: при подобной конфигурации необходимо прописать для учетной записи, от которой работает WCF сервис (пул IIS), SPN (Service Principal Name), например, setspn.exe -a http\<serverFQDN> <domain\wcfserviceaccount>. А в конфигурационном файле клиента выставить соответствующие значение (<servicePrincipalName> тэг), например, <servicePrincipalName value="http\<serverFQDN>">, где <serverFQDN> - полное доменное имя сервера, а <domain\wcfserviceaccount> - доменная учетная запись, от имени которой запущен WCF сервис.




Тэги: WCF
Просмотров: 106 |  Комментариев: 0 | 
 | Голосов: 0 | 
WCF: как задать timeout при вызове конкретного метода сервиса?
Ефимцева Наталия опубликовала 08.05.2010, 9:56 в блог 'My blog'

Допустим у нас есть следующий код:

IServiceContract proxy = ChannelFactory<IServiceContract>.CreateChannel(binding, address);
((IClientChannel)proxy).Open(TimeSpan.FromMinutes(1));
proxy.Method1();
proxy.Method2();
Необходимо, чтобы timeout выполнения Method1 и Method2 были различными, т.е. например:
proxy.Method1() – timeout = 5 минут (TimeSpan.FromMinutes(5))
proxy.Method2() – timeout = 10 минут (TimeSpan.FromMinutes(10))

Для выполнения данной задачи нам необходимо выполнить преобразование к IContextChannel интерфейсу и установить значение параметра OperationTimeout, либо напрямую получить доступ к InnerChannel и выставить значение OperationTimeout.

proxy.Service1Client client = new proxy.Service1Client();
client.InnerChannel.OperationTimeout = TimeSpan.FromMinutes(5);
Console.WriteLine(client.Method1());
client.InnerChannel.OperationTimeout = TimeSpan.FromMinutes(10);
Console.WriteLine(client.Method2());
Console.ReadLine();




Тэги: WCF
Просмотров: 98 |  Комментариев: 0 | 
 | Голосов: 0 | 
Natale
Ефимцева Наталия  Возраст: 26

Посетили сайт:
19808

Дата рождения:
19.03.1984

Дата регистрации:
28 октября 2009 г. 21:21:43

Последний визит:
18 января 2010 г. 21:48:30

Семейное положение:
Женат/Замужем
Случайное фото
Гости сайта
Партнеры сайта