在WCF服务时,你曾经得到与您的app.config中的所有设置的困惑,你只是想抛出的文件?现在好了就可以了,我会告诉你如何。
。NET 4.0中,WCF允许开发人员接管其服务配置方法的公约。这意味着省略配置设置,将创建的。NET Framework在自己的位置默认,使您的服务完全可以和运营。
因此,让我们检查出它是如何做!
首先,创建一个新的WCF服务库项目,并调用它WcfZeroConfig:
现在,这是好位,删除App.config文件。只需右键单击该文件,选择"删除"??感觉很好权?!
WCF服务库项目模板使得两种方法可供我们默认情况下,这篇文章中,我们将用我们的例子中的getData(int值)的方法。
由于我们的WCF库现已完成,我们要添加另一个项目,我们的解决方案,主机服务。在生产中,您通常会使用IIS或Windows服务承载您的WCF服务库,但这个简单的例子,我们要使用一个控制台应用程序。
从Visual Studio主菜单,选择文件,新增GT GT;新建项目GT,Windows的GT;控制台应用程序和项目WcfHost名称:
{A2}
作为这个项目将作为东道主,我们需要将引用添加到System.ServiceModel大会和我们的WCF服务库项目。 WcfHost项目文件上右击,选择"添加引用",并选择System.ServiceModel框架:
{A3}
现在,选择的项目(在左上角),然后双击WcfZeroConfig和按关闭按钮。
{A4}
要完成的主机,复制和粘贴到Program.cs文件中下面的代码:using System;
using System.ServiceModel;
using System.ServiceModel.Description;
namespace WcfHost
{
class Program
{
static void Main(string[] args)
{
var host = new ServiceHost(typeof(WcfZeroConfig.Service1),
new Uri("http://localhost:8732/WcfZeroConfig"));
host.Open();
Console.WriteLine
("Our service is currently running with the following config:");
foreach (ServiceEndpoint se in host.Description.Endpoints)
Console.WriteLine("A: {0}, B: {1}, C: {2}",
se.Address, se.Binding.Name, se.Contract.Name);
Console.WriteLine("Press any key to end the service...");
Console.ReadKey();
}
}
}
正如你可以看到,它需要一行代码来创建ServiceHost对象,通过在端点地址和一个单一的方法调用来打开主机通道,使服务可用。WCF(NET 4.0)
在启动主机,在幕后,将检测,没有约束力或合同已经提供,无论是在我们App.Config文件,或从我们的代码,并会提供默认值。从端点地址,该框架可以看到我们使用的是HTTP和将提供默认basicHttpBinding的约束力。 IService1合同类型也将推断Service1的具体类。
运行主机,选择WcfHost项目和按F5生成并运行应用程序。
{A5}我们现在已经准备好创建客户端应用程序消耗我们的WCF服务。从Visual Studio主菜单,选择文件,新增GT GT;新建项目GT,Windows的GT控制台应用程序,该项目命名为WcfClient: {A6}之前,你将需要添加System.ServiceModel框架(右单击项目文件GT??"添加引用"与WcfZeroConfig项目一起,这是使WcfClient项目是知道的WCF服务合同类型?代码> IService1??
要完成我们的客户,只需粘贴到Program.cs文件中的以下代码行:
{C}
要完成我们的例子:你首先需要建立的解决方案,通过右击解决方案文件,并选择"生成解决方案。运行C:\ \ WcfZeroConfig \ WcfHost \ BIN \ DEBUG \ WcfHost.exe文件。最后,运行C:\ \ WcfZeroConfig \ WcfClient \ BIN \调试\ WcfClient.exe文件,并输入一个数字。
这个数字,然后被传递到我们的WCF服务和我们的客户收到的结果。
{A7}
完整的源代码是可用{A8}。{七}