您的位置:首页 > 运维架构 > 网站架构

从架构设计到系统实施-基于.NET 3.0的全新企业应用之基于WCF的系统服务

2010-02-26 22:57 1321 查看
系统架构设计
什么是WCF
一组用来创建软件服务的.NET 2.0类
约定(两边的接口)
绑定
地址

如何使用WCF
服务器端
开发人员定义约定
开发人员实现约定
开发人员提供服务
IT人员配置绑定
IT人员配置地址
IT人员监控系统
客户端
开发人员下载Metadata
开发人员生成Proxy
开发人员调用Proxy
IT人员生成绑定
IT人员生成地址
IT人员监控系统

IService1.cs

[DataContract(Name="ProspectiveDeal", Namespace="WoodgroveBank")]
public class Deal
{
[DataMember(Name="StockSymbols")]
public string[] symbols;
[DataMember(Name="Date")]
private DateTime _when;

public DateTime When { get { return this._when; } }
}

[DataContract(Name="DealAnalysis", Namespace="WoodgroveBank")]
public class Analysis
{
[DataMember]
public decimal Value;
[DataMember]
public decimal RiskFactor;
}

[ServiceContract(Name="DealService", Namespace="WoodgroveBank")]
public interface IDeal
{
[OperationContract(Name="Analyze")]
Analysis AnalyzeDeal(Deal dealToAnalyze);

[OperationContract(Name="Execute", IsOneWay=true)]
void ExecuteDeal(Deal dealToAnalyze);
}

Service1.cs
public class DealAnalyzer : IDeal
{
Analysis IDeal.AnalyzeDeal(Deal dealToAnalyze)
{
Analysis a = new Analysis();
return a;
}

void IDeal.ExecuteDeal(Deal dealToExecute)
{
System.Threading.Thread.sleep(3000);
}
}

public class DealAnalyzer1 : IDeal
{
Analysis IDeal.AnalyzeDeal(Deal dealToAnalyze)
{
Analysis a = new Analysis();
return a;
}

void IDeal.ExecuteDeal(Deal dealToExecute)
{
System.Threading.Thread.sleep(3000);
}
}

ConsoleApplication
class Program
{
static void Main(string[] args)
{
using(ServiceHost host = ServiceHost(typeof(DealAnalyzer)))
{
host.Open();
Console.WriteLine("The service is running, Press any key to stop");
Console.RaadLine();
}
finally
{
host.Close();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐