Silverlight连接WebService

来源:互联网 发布:spark java wordcount 编辑:程序博客网 时间:2024/05/22 09:18

新建一个WebService项目,名字叫 WebServiceTest

.net会自动生成HelloWorld方法.

现在把服务的端口固定

因为我是怕过会儿端口变了,不过也可以把这个放到IIS上.(每个步骤一定要注意看,这个端口问题已经很多人出了,因为他们不是在IIS上调试)

注意要加入跨域文件crossdomain.xml

 

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"
>
<cross-domain-policy>
    
<allow-access-from domain="*" />
</cross-domain-policy>

 

接下来再新建一个silverlight项目.

名字就叫HelloSl

<UserControl x:Class="HelloSl.Page"
    xmlns
="http://schemas.microsoft.com/client/2007" 
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width
="400" Height="300">
    
<Grid x:Name="LayoutRoot" Background="White">
        
<Button x:Name="binHello" Click="txtHello_Click"/>
    
</Grid>
</UserControl>

向Page里面加放一个Button,好显示WebService的内容

在sl里面写入后台处理代码

 

namespace HelloSl
{
    
public partial class Page : UserControl
    
{
        
public Page()
        
{
            InitializeComponent();
        }


        
private void txtHello_Click(object sender, RoutedEventArgs e)
        
{
            HelloService.Service1SoapClient client 
= new HelloSl.HelloService.Service1SoapClient();
            client.HelloWorldCompleted 
+= new EventHandler<HelloSl.HelloService.HelloWorldCompletedEventArgs>(client_HelloWorldCompleted);
            client.HelloWorldAsync();
        }


        
void client_HelloWorldCompleted(object sender, HelloSl.HelloService.HelloWorldCompletedEventArgs e)
        
{
            
this.binHello.Content = e.Result.ToString();
        }

    }

}

 

 接下来运行试试.先要打开WebService服务,再运行Silverlight

 效果就出来了!希望学习silverlight的朋友努力(^_^)天使坠 QQ:283440946 有问题就来联系我,我会尽力的!