как установить учетные данные wcf, когда Telerik radgrid использует службу wcf? - PullRequest
0 голосов
/ 08 января 2010

У меня есть служба wcf, которая требует учетные данные клиента, поэтому я могу установить это с помощью кода, подобного следующему:

wcf.ClientCredentials.UserName.UserName = "user"; wcf.ClientCredentials.UserName.Password = "password";

Я следовал этому руководству о том, как создать telerik radgrid для использования сервиса wcf: http://blogs.telerik.com/blogs/posts/09-02-14/openaccess_wcf_and_a_radgrid_oh_my.aspx

Но у него нет никакой информации о том, как установить учетные данные. Если кто-то может помочь, я был бы очень признателен !!!

Ответы [ 2 ]

1 голос
/ 08 января 2010

ОК, если вам нужно получить данные с другого сервера, похоже, вам нужно создать собственный серверный класс в качестве ObjectDataSource на сервере, который будет клиентом для вашей службы WCF, потому что междоменные ограничения браузера запретить RadGrid отправлять запросы на стороне клиента на оба сервера.

Ваш ObjectDataSource выполняет работу по созданию запросов WCF.

Вот документы Telerik RadGrid о том, как использовать ObjectDataSource: http://demos.telerik.com/aspnet-ajax/controls/examples/integration/aspajaxgridapplication/defaultcs.aspx?product=grid

... и вот документы Microsoft на ObjectDataSource: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.aspx

0 голосов
/ 08 января 2010

Вы хотите установить учетные данные на стороне клиента, т.е. с Javascript, это правильно кампо? Если это правильно, я не знаю, есть ли или должен быть способ установить учетные данные, потому что было бы небезопасно включать их в код на стороне клиента.

Поскольку веб-служба должна находиться в том же домене, что и ваша веб-страница (из-за междоменных ограничений), если вы можете использовать обычные сеансы ASP.NET, пользователь уже будет аутентифицирован, потому что он уже аутентифицирован для ваше приложение ASP.NET.

В этом сообщении блога рассказывается, как включить «Режим совместимости ASP.NET» для WCF, который предоставляет вашим службам WCF доступ к состоянию сеанса и другим вещам ASP.NET: http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx

Вы устанавливаете это в файле конфигурации вашего приложения WCF:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
...