0

我有一个需要客户端凭据的 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

但它没有关于如何设置凭据的任何信息。如果有人可以提供帮助,我将不胜感激!!!

4

2 回答 2

1

好的,如果您需要从另一台服务器获取数据,看起来您需要在服务器上创建自己的服务器端类作为 ObjectDataSource 作为 WCF 服务的客户端,因为浏览器的跨域限制会阻止 RadGrid从向两台服务器发出客户端请求。

您的 ObjectDataSource 负责发出 WCF 请求。

这是有关如何使用 ObjectDataSource 的 Telerik RadGrid 文档: http ://demos.telerik.com/aspnet-ajax/controls/examples/integration/aspajaxgridapplication/defaultcs.aspx?product=grid

...这是微软关于 ObjectDataSource 的文档:http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.aspx

于 2010-01-08T11:48:39.173 回答
0

您想在客户端设置凭据,即。使用 Javascript,是正确的 campo 吗?如果这是正确的,我不知道是否有或应该有一种方法来设置凭据,因为将它们包含在客户端代码中是不安全的。

由于如果您可以使用正常的 ASP.NET 会话,Web 服务必须与您的网页位于同一域中(由于跨域限制),因此用户已经通过了身份验证,因为他们已经通过了您的 ASP 的身份验证。网络应用程序。

这篇博文详细介绍了如何为 WCF 启用“ASP.NET 兼容模式”,这使您的 WCF 服务可以访问会话状态和其他 ASP.NET 内容:http: //blogs.msdn.com/wenlong/archive/2006/01 /23/516041.aspx

您在 WCF 应用程序的配置文件中设置它:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
于 2010-01-08T10:39:20.353 回答