温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么部署Silverlight及Web Service

发布时间:2021-11-24 15:14:26 来源:亿速云 阅读:158 作者:小新 栏目:编程语言

小编给大家分享一下怎么部署Silverlight及Web Service,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一直通过Visual Studio测试Silverlight,本以为部署到服务器上是很简单的事。
没想到遇到了很多麻烦,用了整整一天的时间搜索解决方案。

先说部署到xp系统下本地IIS,服务器win2003也一样。

如图,右击虚拟目录->属性->HTTP头->MIME类型。添加

扩展名: .xap

MIME类型:application/x-silverlight-app

扩展名: .xaml

MIME类型:application/xaml+xml

怎么部署Silverlight及Web Service

这样就可以正常显示Silverlight了。

如果你调用了Web Service,

并且你的Web Service就在承载Silverlight的网站下。如图

怎么部署Silverlight及Web Service

这样不会有跨域操作的麻烦。

但是你不能直接引用localhost这样的本地服务。

否则部署在服务器上调用不成。

我的方法是把这个服务先部署在本地IIS

然后添加服务引用。

比如地址是http://127.0.0.1:8088/sl/LinqXmlService.asmx

怎么部署Silverlight及Web Service

这时候不存在跨域操作,先测试成功。

之后打开服务引用目录,如图

怎么部署Silverlight及Web Service

把这里的文件全部用vs打开,然后Ctrl+H做替换,选择所有打开文档。

http://127.0.0.1:8088/sl/LinqXmlService.asmx替换成

http://www.weiqi9d.com/LinqXmlService.asmx

即你的服务器地址。

我也不知道是怎样想到这样做的。试了一下,可以。

另外一个问题,服务器上仍然无法访问.xap不知道为什么。

我只好把.xap修改成.htm然后把这里也改了。

<param name="source" value="ClientBin/SilverlightApplication2.htm"/>

如图怎么部署Silverlight及Web Service

怎么部署Silverlight及Web Service

这样,即使你的sl是用vs2010开发的,并且服务器没有安装.net 4.0也可以正常显示。

记录一下Silverlight调用Web Service的方法。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Web;  using System.Web.Services;   namespace SilverlightApplication2.Web  {      /// <summary>      /// WebService1 的摘要说明      /// </summary>      [WebService(Namespace = "http://tempuri.org/")]      [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]      [System.ComponentModel.ToolboxItem(false)]      // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。      // [System.Web.Script.Services.ScriptService]      public class WebService1 : System.Web.Services.WebService      {           [WebMethod]          public string HelloWorld()          {              return "Hello World";          }      }  }   调用   using System;  using System.Collections.Generic;  using System.Linq;  using System.Net;  using System.Windows;  using System.Windows.Controls;  using System.Windows.Documents;  using System.Windows.Input;  using System.Windows.Media;  using System.Windows.Media.Animation;  using System.Windows.Shapes;   namespace SilverlightApplication2  {      public partial class MainPage : UserControl      {          public MainPage()          {              InitializeComponent();              this.Loaded += new RoutedEventHandler(Page_Loaded);          }          //创建Web Service对象          ServiceReference1.LinqXmlServiceSoapClient ws = new ServiceReference1.LinqXmlServiceSoapClient();          void Page_Loaded(object sender, RoutedEventArgs e)          {              AddEvent();              Bind();          }          //注册事件,有点类似Ajax的回调          private void AddEvent()          {              ws.HelloWorldCompleted += new EventHandler<ServiceReference1.HelloWorldCompletedEventArgs>(ws_HelloWorldCompleted);          }          //回调函数          void ws_HelloWorldCompleted(object sender, ServiceReference1.HelloWorldCompletedEventArgs e)          {              button1.Content += e.Result + " hi";              //MessageBox.Show(e.Result);          }          private void Bind()          {              ws.HelloWorldAsync();          }       }  }

看完了这篇文章,相信你对“怎么部署Silverlight及Web Service”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI