一起谈.NET技术,部署Silverlight及Web Service

简介:   一直通过vs测试Silverlight,本以为部署到服务器上是很简单的事。  没想到遇到了很多麻烦,用了整整一天的时间搜索解决方案。  先说部署到xp系统下本地IIS,服务器win2003也一样。

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

  先说部署到xp系统下本地IIS,服务器win2003也一样。
  如图,右击虚拟目录->属性->HTTP头->MIME类型。添加
  扩展名: .xap
  MIME类型:application/x-silverlight-app
  扩展名: .xaml
  MIME类型:application/xaml+xml

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

  如果你调用了Web Service,
  并且你的Web Service就在承载Silverlight的网站下。如图

  这样不会有跨域操作的麻烦。
  但是你不能直接引用localhost这样的本地服务。
  否则部署在服务器上调用不成。
  我的方法是把这个服务先部署在本地IIS
  然后添加服务引用。
  比如地址是http://127.0.0.1:8088/sl/LinqXmlService.asmx

  这时候不存在跨域操作,先测试成功。
  之后打开服务引用目录,如图

  把这里的文件全部用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"/>
  如图


  这样,即使你的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的朋友有帮助,同时希望牛人解答我的疑惑。

目录
相关文章
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3
|
6天前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
10天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
6天前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
1月前
|
人工智能 开发框架 Cloud Native
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
41 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
59 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
48 0
|
3月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
3月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
126 0