新聞中心
Silverligh的應用范圍比較廣泛。在開發(fā)人員實際使用中,可以輕松的實現各種基于多媒體方面功能。基于安全原因的考慮,Silverlight是不允許直接訪問數據庫的。但還是有很多方法來間接實現Silverlight對數據庫的訪問。#t#

公司主營業(yè)務:成都網站建設、網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯推出靈寶免費做網站回饋大家。
比如以下的三種方式:1 RESTful API;2 在Silverlight下借助JavaScript來實現訪問數據庫;3 利用.NET Web服務模板——Silverlight-enabled。本文將主要介紹一下后倆種方法。
利用JavaScript實現Silverlight與數據庫的交互
只要在Silverlight事件處理的后面添加調用以下簡單的JavaScript代碼即可。其中”callWebService”是JavaScript的函數。
- protected void btnSubmit
(object sender,EventArgs e) - {
- System.Windows.Browser.HtmlPage.
Window.Invoke("callWebService", null); - }
關于JavaScript的調用可以參照一下內容:
通過ScriptServiceAttribute添加
- [ScriptService]
- public class UserValidationService:
System.Web.Services.WebService- {
- [WebMethod]
- public bool ValidateUserName
(string strInput)- {
- return !GetUserByUserName(strInput);
//If user exists return false
indicates the name is no longer availabe.- }
- private bool GetUserByUserName
(string strUserName)- {
- bool blnIsUserExists = false;
- //Call database API to see if the
username is availabe, set blnIsUser
Exists to true if exists.- return blnIsUserExists;
- }
- }
通過頁面添加ScriptMananger控件
- < asp:ScriptManager runat="server"
ID="scriptManagerId">- < Services>
- < asp:ServiceReference Path=
"UserValidationService.asmx" />- < /Services>
- < /asp:ScriptManager>
像調用JavaScript局部函數一樣調用Webservice
- < script type="text/javascript">
- function validateUserName()
- {
- var userName = document.getElementById
("txtUserName").value;- UserValidationService.ValidateUserName
(userName,showValidateResult,validate
UserNameError);- }
- function validateUserNameError(result)
- {
- //Do nothing if any error, ideally,
we should log this error to database.- }
- function showValidateResult(result)
- {
- //Since it is only a boolean value,
no need to get result.d, if result
contains .net object,- // use result.length and result.d
to retrieve the object.- if(!result)
- {
- //Not available
- }else
- {
- //Username is still available
- }
- }
- < /script>
利用Silverlight-enabled Webservice實現Silverlight與數據庫的交互
首先通過模板創(chuàng)建一個Silverlight-enabled Webservice,然后將數據庫和其他Server-related添加到服務里。接下來,將此服務添加引用到Silverlight 應用中。***利用如下代碼從Silverlight 應用中調用webservice。
- using MySilver.MyService;
- ......
- .....
- private void btnSend_Click
(object sender, RoutedEventArgs e)- {
- if (!String.IsNullOrEmpty
(txtMessage.Text.Trim()))- {
- lstHisotryMessage.Items.Add("Gene: "
+ txtMessage.Text.Trim());- GeneMessage message = new GeneMessage();
- message.Body = txtMessage.Text.Trim();
- MyServiceclient = new MyService();
- client.SendMessageCompleted +=
new EventHandler< SendMessageCompleted
EventArgs>(client_SendMessageCompleted);- client.SendMessageAsync(message);
- }
- else
- {
- MessageBox.Show("You cannot send empty message!");
- }
- }
- protected void client_SendMessage
Completed(object sender, SendMessage
CompletedEventArgs e)- {
- txtMessage.Text = e.Result.MessageID.ToString();
網站名稱:Silverligh訪問數據庫方法技巧指導
網址分享:http://m.fisionsoft.com.cn/article/djpjchs.html


咨詢
建站咨詢
