一起谈.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的朋友有帮助,同时希望牛人解答我的疑惑。

目录
相关文章
|
4天前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
5天前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
17 3
|
9天前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
36 5
|
1月前
|
前端开发 JavaScript
构建你的第一个Web应用:从零到部署
【8月更文挑战第33天】 在这篇文章中,我们将一起踏上构建一个基本Web应用的旅程。不同于传统的“安装这个、运行那个”教程,我们的目标是通过理解每一步的意义和目的来深化你的技术理解。我们将探索HTML、CSS、JavaScript的基础,并学习如何将它们结合起来创建一个简单的个人网站。接着,我们会介绍如何使用GitHub Pages进行免费部署,让你的应用上线。准备好了吗?让我们开始吧!
|
28天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
2月前
|
Java UED 自然语言处理
Struts 2 国际化竟有如此神奇魔力?快来揭开多语言支持的 Web 应用神秘面纱
【8月更文挑战第31天】在全球化背景下,Web应用需适应多种语言环境。Struts 2凭借其强大的国际化(i18n)支持,简化了多语言应用开发。通过不同语言的资源文件,它能自动匹配用户语言偏好,优化用户体验并扩展用户群。下面是一个示例:创建`messages.properties`(英语)与`messages_zh_CN.properties`(中文),并在Struts 2的Action类及JSP页面中调用`getText()`方法及Struts标签展示相应语言内容。此外,在struts.xml中指定资源文件,以确保框架正确加载对应语言包。通过这些步骤,开发者可以轻松实现应用的多语言支持。
51 0
|
2月前
|
Java 数据库 API
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
38 0
|
2月前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
51 0
|
2月前
|
JavaScript 搜索推荐 前端开发
从零搭建到部署:Angular与Angular Universal手把手教你实现服务器端渲染(SSR),全面解析及实战指南助你提升Web应用性能与SEO优化效果
【8月更文挑战第31天】服务器端渲染(SSR)是现代Web开发的关键技术,能显著提升SEO效果及首屏加载速度,改善用户体验。Angular Universal作为官方SSR解决方案,允许在服务器端生成静态HTML文件。本文通过具体示例详细介绍如何使用Angular Universal实现SSR,并分享最佳实践。首先需安装Node.js和npm。
28 0
下一篇
无影云桌面