代码改变世界

随笔档案-2012年10月

WCF足迹2:契约

2012-10-29 00:22 by C#与.NET探索者, 363 阅读, 收藏,
摘要: WCF足迹2:契约(原创:灰灰虫的家http://hi.baidu.com/grayworm)契约是WCF中很重要的概念。它是用一种与平台无关的标准语法来描述WCF服务的功能。当客户端获取服务端WCF服务的时候,会根据服务端声明的契约生成客户端契约的复本,客户端和服务端通过契约来实现沟通。一个生活中的例子:比如KFC,它是一家快餐品牌。假设我想通过加盟的方式在我家附近开一家KFC快餐店。首先,我们要向KFC加盟代理提交加盟申请,经过资格申查后,和KFC签述加盟协议。然后,我根据协议中规定的条款在我家附开了一家KFC快餐店。KFC总部为我提供方法、技术和原材料等,我每年向KFC总部交加盟费,这样 阅读全文

WCF足迹1:概述

2012-10-28 22:55 by C#与.NET探索者, 161 阅读, 收藏,
摘要: WCF足迹1:概述(原创:灰灰虫的家http://hi.baidu.com/grayworm)一、什么是WCFWindows Conmmunication Foundation是.NET Framework3.0的重要组成部份,现已经集成到Vista 和 WindowsServer2008中它是Microsoft为构建面向服务的应用SOA提供的分布式通信编程框架,使用该框架,员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。它整合了.Net平台下所有的和分布式系统有关的技术,是微软分布式应用程序开发的集大成者。掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。从通信范围来看: 阅读全文

IOC注入框架——Unity中的BuildUp与LifetimeManagers

2012-10-27 22:30 by C#与.NET探索者, 839 阅读, 收藏,
摘要: 一、使用BuildUp向已存在的对象进行依赖注入准备工作:编写下面的几个类public class Owner{ public string Name { get { return "Inrie"; } } public int Age { get { return 24; } }}public abstract class Player{ public abstract void Play(); public abstract string Name { get; } [Dependency] public Owner Owner { get; set; }}public 阅读全文

IOC注入框架——Unity中Web.Config文件的配置与调用

2012-10-27 22:11 by C#与.NET探索者, 715 阅读, 收藏,
摘要: 在上一篇文章“Unit简单依赖注入”我们可以实现构造对象和被依赖对象之间的松耦合,使我们的抽象层(Player)能够保持稳定,但是在并没有把客户类和Player类之间彻底解耦,即当我们不想使用MP3Player注入,而想使用CDPlayer注入时,我们需要修改客户类的容器注册。下面我们使用web.config配置文件来解决这个问题。Unity 应用程序块可以从 XML 配置文件中读取配置信息。配置文件可以是 Windows Forms 应用程序的 App.config 或者 ASP.NET 应用程序的 Web.config。当然,也可以从任何其他 XML 格式的文件或者其他数据源中加载配置信息 阅读全文

IOC注入框架——Unit简单依赖注入

2012-10-27 21:44 by C#与.NET探索者, 774 阅读, 收藏,
摘要: Unit简单依赖注入准备工作:还是上节课的几个类://抽象类,播放器public abstract class Player{ public abstract string Play(); //播放功能}//MP3播放器public class MP3Player : Player{ public override string Play() { return "this is MP3Player"; }}//CD播放器public class CDPlayer : Player{ public override string Play() { return "t 阅读全文

IOC注入框架——Unity初步

2012-10-27 21:19 by C#与.NET探索者, 811 阅读, 收藏,
摘要: Unity 应用程序块(Unity)是一个轻量级、可扩展的依赖注入容器,支持构造函数、属性和方法调用注入。它有下列优点:1、简化了对象的创建,尤其是分层的对象结构和依赖,并简化了应用程序代码。2、支持需求的抽象,这允许开发人员在运行时或者配置中指定依赖,并简化了横切关注点的管理。3、通过延迟将配置组装到容器来提高灵活性。4、服务定位功能允许客户代码保存或者缓存容器。这在开发人员可以持久化容器到 ASP.NET Session 或者 Application 中的 ASP.NET Web 应用程序中特别有用。依赖注入:这是 Ioc 模式的一种特殊情况,是一种基于改变对象的行为而不改变类的内部的接口 阅读全文

WCF开发实战系列五:创建WCF客户端程序

2012-10-27 20:56 by C#与.NET探索者, 350 阅读, 收藏,
摘要: WCF开发实战系列五:创建WCF客户端程序(原创:灰灰虫的家http://hi.baidu.com/grayworm)在前面的三篇文章中我们分别介绍了WCF服务的三种载体:IIS、Self-Host、Windows Service Host。当WCF编写完成后我们一般要通过这三种方式的一种发布WCF服务,当WCF服务发布后,我们就可以编写客户程序来与服务的终结点进行通信。这篇文章我们主要来介绍如何编写客户程序。前提:1.事先建立好一个WCF服务2.使用上面任何一种方式发布WCF。在这里我们使用上篇文章中介绍的WindowsServiceHost发布BookService程序。《图1》《图2》第 阅读全文

WCF开发实战系列四:使用Windows服务发布WCF服务

2012-10-27 20:55 by C#与.NET探索者, 1734 阅读, 收藏,
摘要: WCF开发实战系列四:使用Windows服务发布WCF服务(原创:灰灰虫的家http://hi.baidu.com/grayworm)上一篇文章中我们通过编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式,我们称这种方式为Self-Host服务发布方式,这一篇文章我们来看一下如何编写Windows服务来发布WCF服务。第一步:建立Windows服务程序WindowsServiceHost《图1》《图2》第二步:向ConsoleBookServiceHost程序中添加两个引用:一个是WCF服务库Services项目的引用,另一个是System.ServiceModel引用。 阅读全文

WCF开发实战系列三:自运行WCF服务

2012-10-27 20:55 by C#与.NET探索者, 377 阅读, 收藏,
摘要: WCF开发实战系列三:自运行WCF服务(原创:灰灰虫的家 http://hi.baidu.com/grayworm)上一篇文章中我们建立了一个WCF服务站点,为WCF服务库运行提供WEB支持,我们把这个WCF服务站点布署到IIS中去,实现WCF服务在Web上的发布。这一篇文章中我们来谈一下“自运行WCF服务”。什么是“自运行WCF服务”呢?就是通过我们编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式。下面我们使用控制台程序来提供WCF的自运行服务第一步:建立控制台应用程序ConsoleBookServiceHost《图1》第二步:向ConsoleBookServiceH 阅读全文

WCF开发实战系列二:使用IIS发布WCF服务

2012-10-27 20:54 by C#与.NET探索者, 364 阅读, 收藏,
摘要: WCF开发实战系列二:使用IIS发布WCF服务(原创:灰灰虫的家http://hi.baidu.com/grayworm)上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。第一步:打开我们上一篇文章中建立的WCF服务项目。图《1》第二步:新建WCF服务站点。在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在 阅读全文

WCF开发实战系列一:创建第一个WCF服务

2012-10-27 20:53 by C#与.NET探索者, 338 阅读, 收藏,
摘要: WCF开发实战系列一:创建第一个WCF服务(原创:灰灰虫的家http://hi.baidu.com/grayworm)在这个实战中我们将使用DataContract,ServiceContract来构建WCF服务,并使用VS2008内置的“WCFSVCHost”运行我们创建的WCF服务,并使用“WCF测试客户端”来测试我们创建的服务。在此WCF服务中我们将建立一个关于Book的服务,并实现对Book的添加、删除和检索操作。第一步:创建“WCF服务库”“文件(F)”->“新建项目(P)...”打开新建项目对话框。在左侧的“项目类型”中选择“WCF”,然后再在右侧的“模板”中选择“WCF服务 阅读全文

Excel导出问题解决方案(导出时前面的0自动被去掉)

2012-10-17 22:39 by C#与.NET探索者, 2277 阅读, 收藏,
摘要: 最简单的方法是:在数字前面加'符号。即代码里添加: "'"以下均是网上搜集到的其他解答:一.代码如下:style="mso-number-format:'/@';"现在说明一下;一般在我在做ASP导出EXCEL页面时在开头加上如下代码:<% response.ContentType ="application/vnd.ms-excel" Response.AddHeader "content-Disposition","filename=导出后的文件名称.xls;at 阅读全文

datatable导出excel

2012-10-17 14:05 by C#与.NET探索者, 381 阅读, 收藏,
摘要: 我们经常需要将datatable数据导出至excel中,以下是我们项目中所用到的方法:1. //导出数据 protected void Button1_Click(object sender, EventArgs e) { //获取datatable数据 var bll = new BLL_TeamworkAward(); var pageModel = bll.TeamBuildingDetails(1, int.MaxValue, this.AdviserID, YearNum, MonthNum, AwardType); DataTable dt = pageModel.Dat... 阅读全文

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

2012-10-09 14:57 by C#与.NET探索者, 449 阅读, 收藏,
摘要: Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select. 阅读全文