WEB开发网
开发学院软件开发VC Visual Studio 2008中WCF的新增功能 阅读

Visual Studio 2008中WCF的新增功能

 2008-01-22 21:41:00 来源:WEB开发网   
核心提示: 只要 WCF 服务位于网站项目或某个新 WCF 服务库中,您就可以使用“Discover”(搜索)按钮在自己的解决方案中查找这些服务,Visual Studio 2008中WCF的新增功能(10),如果位于网站项目中,Visual Studio 2008 将检索 I

只要 WCF 服务位于网站项目或某个新 WCF 服务库中,您就可以使用“Discover”(搜索)按钮在自己的解决方案中查找这些服务。如果位于网站项目中,Visual Studio 2008 将检索 IIS 中的元数据或启动基于文件系统的 ASP.NET 开发服务器。如果位于 WCF 服务库中,则 WCF 将自动启动其主机 (WcfSvcHost) 以便获取元数据。

可以通过“Advanced”(高级)按钮打开设置对话框,从而调整代理生成,如同使用 SvcUtil(参见图 8)一样。通过使用更直观的选项,您可以配置生成的代理和约定(公共或内部)的可见性;可以为数据类型生成适用于高级互操作方案的消息约定,在此方案中必须遵从现有消息格式(通常为自定义),并可以单击“Add Web Reference”(添加 Web 引用)按钮将引用转换为旧 ASMX Web 服务引用。

Visual Studio 2008中WCF的新增功能

图8:服务引用高级选项

“Generate asynchronous operations”(生成异步操作)复选框可以为导入的约定中的每个操作添加一对匹配的 Begin<operation> 和 End<operation> 元素,这两个元素允许客户端在工作线程中异步发出调用,并且通过提供完成回调方法或阻止完成来允许客户端稍后与操作完成进行同步。例如,假设约定的定义如下:

[ServiceContract]
interface ICalculator
{
[OperationContract]
int Add(int number1,int number2);
}

则导入的约定将如图 9 所示。

Figure 9:导入的异步约定

[ServiceContract]
interface ICalculator
{
[OperationContract]
int Add(int number1,int number2);
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginAdd(int number1,int number2,
AsyncCallback callback,object asyncState);
int EndAdd(IAsyncResult result);
//Rest of the methods
}

异步调用的匹配客户端代码将类似于如下所示:

上一页  5 6 7 8 9 10 

Tags:Visual Studio WCF

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接