VS2008中的javascript intellisense - 外部WCF服务

时间:2009-06-23 14:40:01

标签: javascript wcf intellisense

我在发布这篇文章之前已经查阅了以下文章,但我的情况有点不同

How do I get intellisense for WCF Ajax Services?

我也将补丁应用于VS2008并使jquery intellisense工作。

在我的解决方案中,WCF服务实际上不在ASP.NET Web项目中。 我有一个单独的项目 ServiceContracts, ServieImplementations和 有一个托管WCF服务的Web项目。

我的ASP.NET Web应用程序正在使用WCF服务。在我的Web应用程序内的javascript文件中,如果我在顶部写下以下两行,则intellisense不起作用。 (reqws是托管我的WCF服务的IIS应用程序)

/// <reference name="MicrosoftAjax.js" />
/// <reference path="http://localhost/reqws/DataManagementService.svc" />

我甚至通过转到“编辑”菜单并选择该选项来强制VS2008中的javascript intellisense更新。没有错误被抛出。

请帮忙。另外一件事,我实际上在我的Web应用程序本身内创建了一个测试WCF服务,并将以下内容放在我的javascript文件中,这样可行。 所以,我的问题是如何在WCF服务不在同一个应用程序中或者通过ScriptManager使用外部服务时让intellisense工作。

2 个答案:

答案 0 :(得分:0)

Scott Hanselman实际上已将此回复发送给我: “尝试手动从服务中提取JavaScript文件并引用它们。”

根据他的建议,我尝试在我的机器上使用http://localhost/reqws/DataManagementService.svc/jsdebug生成js文件,并将其保存在我的Web应用程序的脚本文件夹中。

我从ASP.NET Web应用程序的脚本文件中引用了js文件,如下所示,并且intellisense有效。

/// <reference name="MicrosoftAjax.js" />
/// <reference path="~/Common/Javascript/datamanagementservice_script.js" />

但是,每次我更改WCF代码时,我都必须生成这个js并替换当前的js并更新visual studio中的jscript intellisense。 希望有一种简化方法吗?

答案 1 :(得分:0)

获取调试/智能感知 ///&lt; reference path =“http://localhost/reqws/DataManagementService.svc/ jsdebug ”/&gt;

但如果您的根目录外的服务,您将没有太多运气。浏览器的实现方式各不相同,但您通常会编写最严格的代码,这是同一个站点的同一个端口。

如果您需要到户外,请在内部镜像外部服务并使用scriptmanager将其拉出,或者只使用/ jsdebug映射。