如何创建一个 WCF 自托管的应用

如何创建一个 WCF 自托管的应用,第1张

在创建应用之前需要确保防火墙没有屏蔽这个应用,对于一个Demo来说,我们最好禁用它。或者开启需要使用到的端口(就像我使用的8888端口)。

首先需要创建一个"WcfSelfhostedService"的项目。

然后,添加 System.ServiceModel引用。

现在我们可以创建一个名为"IService.cs"的文件,这个文件需要包含一个契约。

?

1

2

3

4

5

6

7

8

9

10

11

using System

using System.ServiceModel

namespace WcfSelfhostedService

{

[ServiceContract]

public interface IService

{

[OperationContract]

String Hello(String name)

}

}

现在就应该创建一个名为 " Service.cs "的文件,然后继承我们之前定义的契约。

?

1

2

3

4

5

6

7

8

9

10

11

using System

namespace WcfSelfhostedService

{

class Service : IService

{

public String Hello(string name)

{

return String.Format("Hello {0}", name)

}

}

}

为了启动这个服务,有一些配置是必须的,不过这些配置VS都帮你做好了。我们只需要将对服务的调用放到 MainWindow.xaml . 的后台文件中

微软论坛的斑竹回答如下:

1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键)。微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。WSDL来实现服务接口相关的描述。此外Web services 可以注册到UDDI中心.供其客户查找使用。

后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

2.WCF:其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。

但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成Web Service,因为它还兼容和具备了微软早期很多技术的特性。

根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/379583.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存