Silverligh访问数据库方法技巧指导

Silverligh的应用范围比较广泛。在开发人员实际使用中,可以轻松的实现各种基于多媒体方面功能。基于安全原因的考虑,Silverlight是不允许直接访问数据库的。但还是有很多方法来间接实现Silverlight对数据库的访问。#t#

公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出灵宝免费做网站回馈大家。

比如以下的三种方式:1 RESTful API;2 在Silverlight下借助JavaScript来实现访问数据库;3 利用.NET Web服务模板——Silverlight-enabled。本文将主要介绍一下后俩种方法。

利用JavaScript实现Silverlight与数据库的交互

只要在Silverlight事件处理的后面添加调用以下简单的JavaScript代码即可。其中”callWebService”是JavaScript的函数。

  1. protected void btnSubmit
    (object sender,EventArgs e)  
  2. {  
  3. System.Windows.Browser.HtmlPage.
    Window.Invoke("callWebService", null);  

关于JavaScript的调用可以参照一下内容:

通过ScriptServiceAttribute添加

 
 
 
  1. [ScriptService]  
  2. public class UserValidationService: 
    System.Web.Services.WebService  
  3. {  
  4. [WebMethod]  
  5. public bool ValidateUserName
    (string strInput)  
  6. {  
  7. return !GetUserByUserName(strInput); 
    //If user exists return false 
    indicates the name is no longer availabe.  
  8. }  
  9. private bool GetUserByUserName
    (string strUserName)  
  10. {  
  11. bool blnIsUserExists = false;   
  12. //Call database API to see if the 
    username is availabe, set blnIsUser
    Exists to true if exists.  
  13. return blnIsUserExists;  
  14. }  

通过页面添加ScriptMananger控件

 
 
 
  1. < asp:ScriptManager runat="server"
     ID="scriptManagerId"> 
  2. < Services> 
  3. < asp:ServiceReference Path=
    "UserValidationService.asmx" /> 
  4. < /Services> 
  5. < /asp:ScriptManager> 

像调用JavaScript局部函数一样调用Webservice

 
 
 
  1. < script type="text/javascript"> 
  2. function validateUserName()  
  3. {  
  4. var userName = document.getElementById
    ("txtUserName").value;  
  5. UserValidationService.ValidateUserName
    (userName,showValidateResult,validate
    UserNameError);  
  6. }   
  7. function validateUserNameError(result)  
  8. {  
  9. //Do nothing if any error, ideally, 
    we should log this error to database.  
  10. }  
  11. function showValidateResult(result)  
  12. {  
  13. //Since it is only a boolean value, 
    no need to get result.d, if result 
    contains .net object,  
  14. // use result.length and result.d 
    to retrieve the object.  
  15. if(!result)  
  16. {   
  17. //Not available  
  18. }else  
  19. {  
  20. //Username is still available  
  21. }  
  22. }  
  23. < /script> 

利用Silverlight-enabled Webservice实现Silverlight与数据库的交互

首先通过模板创建一个Silverlight-enabled Webservice,然后将数据库和其他Server-related添加到服务里。接下来,将此服务添加引用到Silverlight 应用中。***利用如下代码从Silverlight 应用中调用webservice。

 
 
 
  1. using MySilver.MyService;  
  2. ......  
  3. .....  
  4. private void btnSend_Click
    (object sender, RoutedEventArgs e)  
  5. {  
  6. if (!String.IsNullOrEmpty
    (txtMessage.Text.Trim()))   
  7. {  
  8. lstHisotryMessage.Items.Add("Gene: " 
    + txtMessage.Text.Trim());   
  9. GeneMessage message = new GeneMessage();   
  10. message.Body = txtMessage.Text.Trim();  
  11. MyServiceclient = new MyService();   
  12. client.SendMessageCompleted += 
    new EventHandler< SendMessageCompleted
    EventArgs>(client_SendMessageCompleted);   
  13. client.SendMessageAsync(message);  
  14. }  
  15. else  
  16. {  
  17. MessageBox.Show("You cannot send empty message!");   
  18. }  
  19. }  
  20. protected void client_SendMessage
    Completed(object sender, SendMessage
    CompletedEventArgs e)  
  21. {  
  22. txtMessage.Text = e.Result.MessageID.ToString(); 

本文题目:Silverligh访问数据库方法技巧指导
浏览路径:http://www.shufengxianlan.com/qtweb/news25/494775.html

成都网站建设公司_创新互联,为您提供Google企业建站商城网站移动网站建设企业网站制作网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联