silverlight 反射调用WebService

服务:

1 [WebMethod]
2 public string HelloWorld()
3 {
4     return "您好!";
5 }

silverlight中代码:

01 namespace DynamicDemo
02 {
03     public partial class MainPage : UserControl
04     {
05         public MainPage()
06         {
07             InitializeComponent();
08         }
09  
10         private void button1_Click(object sender, RoutedEventArgs e)
11         {
12             CallService("DynamicDemo.Server.RefServiceSoapClient""HelloWorld"new object[] { },new EventHandler<DynamicDemo.Server.HelloWorldCompletedEventArgs>(aa_HelloWorldCompleted));
13         }
14  
15         void aa_HelloWorldCompleted(object sender, Server.HelloWorldCompletedEventArgs e)
16         {
17             MessageBox.Show("吹风说:" + e.Result);
18         }
19  
20         public void CallService(string classstring, string methodstring,object[] paramstring,Delegate completedel)
21         {
22             Type tp = Type.GetType(classstring);
23  
24             EventInfo Event = tp.GetEvent(methodstring+"Completed");
25  
26             MethodInfo method = tp.GetMethod(methodstring+"Async"new Type[] { }, newParameterModifier[] { });
27  
28             var chuifeng = tp.Assembly.CreateInstance(classstring);
29  
30             Event.AddEventHandler(chuifeng, completedel);
31  
32             method.Invoke(chuifeng, paramstring);
33  
34         }
35     }
36 }
posted @ 2011-09-07 09:46  Areas  阅读(178)  评论(0编辑  收藏  举报