完全不使用配置文件构建和使用WCF服务
2009-05-12 22:23:06来源:未知 阅读 ()
只使用代码而不用配置文件的情况不适合IIS为宿主的情况,IIS宿主必须使用配置文件配置WCF的ServiceHost.
1、 服务端
1.1. 准备Contract和实现Contract的服务
很简单的一个Contract(Interface)和实现这个Contract(实现这个接口的类)的服务。
这是VS2005中使用add new item,选WCF Service后自动生成的一个模板例子服务代码。
以下为引用的内容:
[ServiceContract()] { [OperationContract] string MyOperation1(string myValue); } public class Service : IService { public string MyOperation1(string myValue) { return "Hello: " + myValue; } } |
1.2. 建立ServiceHost
一般使用public ServiceHost(Type serviceType, params Uri[] baseAddresses)构造方法建立ServicesHost.
参数:
以下为引用的内容: Type serviceType —— 为实现了某些Contract的类的类型,为这个服务主机要host的服务。
params Uri[] baseAddresses —— 为任意数量的baseAddress. Uri baseAddress = new Uri("http://localhost:8080/WCFService/Service"); //Instantiate new ServiceHost myServiceHost = new ServiceHost(typeof(Service), baseAddress); |
一个ServiceHost内只能驻留一个Service类,但是这个Service类可以实现多个Contract,每个Contract都能通过一个或多个(不同的bind)Endpoint向客户端暴露。
进程、应用程序域和ServiceHost
Dotnet出现之前,资源的分配是以进程为单位,进程是应用程序的安全边界,进程之间不能直接访问,一个进程的崩溃也不会直接影响到别的进程。
但是,进程有个缺点,为了维护进城的安全上下文,耗费的资源很大。
后来引入了线程,一个进程中可以包含多个线程,同一进程里的线程共享资源、切换方便,但是线程不具有隔离性,一个线程的崩溃将会影响到其他线程。
Dotnet引入了应用程序域,是介于进程和线程之间的逻辑概念,它既有进程的安全隔离性的优点,又有线程轻巧快捷的特性。应用程序域跟进程一样,一个应用程序域不能直接访问另一个应用程序域的资源,一个应用程序域的崩溃也不会影响其他应用程序域。同时应用程序域占用的资源比进程少的多,应用程序直接的切换也很快捷。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
- ASP.NET MVC Admin主页快速构建 2020-03-23
- ASP.NET使用AjaxPro实现前端跟后台交互详解 2020-03-19
- .net下log4net使用方法详解 2020-03-19
- asp控件和html控件的概念区别 2020-03-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash