2010-01-08 104 views
0

我有需要的客戶端證書的WCF服務,所以我可以通過代碼設置此類似這樣的:如何在Telerik radgrid使用wcf服務時設置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

但它沒有關於如何設置憑據的任何信息。如果有人可以幫助,我會非常感激!

+0

marc_s,因爲這兩條線都爲微軟WCF客戶端,不是RadGrid。 你會如何在RadGrid中使用這兩行代碼? – glennkentwell 2010-01-08 11:32:10

回答

1

OK,如果你需要從另一臺服務器獲取數據,它看起來像你需要創建自己的服務器端類作爲一個ObjectDataSource在服務器上爲您的WCF服務的客戶端,因爲瀏覽器的跨域限制將阻止RadGrid製作客戶端請求到兩臺服務器。

您的ObjectDataSource完成了製作WCF請求的工作。

這裏的Telerik的radgrid控件的文檔瞭解如何使用一個ObjectDataSource: 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

+0

ahhh,優秀!非常感謝!!! – campo 2010-01-08 11:50:25

0

你想在客戶端設置憑證,即。用Javascript,這是正確的坎波?如果這是正確的,我不知道是否有或應該設置證書的方式,因爲將它們包含在客戶端代碼中是不安全的。

由於Web服務必須與您的網頁位於同一個域(由於跨域限制),如果您可以使用正常的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> 
+0

謝謝lennyK&marc_s,對不起,我應該澄清,我的意思是我需要從另一臺服務器獲取數據,承載wcf,並且我的asp.net託管在另一臺服務器上。 – campo 2010-01-08 11:43:11