1

这更像是一个表面问题,而不是一个实际的“问题”。我有一个解决方案,我将很多 PageMethods 转换为 WebService 调用。一些 PageMethods 创建了几百 KB 的页面开销,所以我想我会将它们提取到它们自己的 WebServices 中,从而减少页面开销并启用 JavaScript 代理的客户端缓存。

但是,该项目的结构有很多命名空间,例如。CompanyName.Website.Services.MyService.ServiceMethod

这从字面上翻译成相同命名空间中的 JavaScript。在大多数情况下,我觉得这很好,但是当我在一个服务中有大约 20 个方法时,它变得非常乏味,总是编写相同的命名空间。

我做了一些研究,发现我可以像这样写自己的别名

var MyAlias = function() { CompanyName.Website.Service.MyService; }

但是,这样做会使 Visual Studio 2010 无法提供智能感知。它按预期工作,但我无法使用我非常喜欢的甜蜜、甜蜜的智能感知:)

所以,我的问题是:有什么方法可以为生成的代理提供别名(就像我可以使用自定义类型一样)?

我试过使用属性[System.Web.Script.Services.GenerateScriptType(typeof(MyService), ScriptTypeId = "MyServiceAlias")] 它确实创建了某种别名,但我无法真正弄清楚它会产生什么影响。此外,我认为这不应该用于像 WebService 类这样的静态类型。

我的要求是,我可以缩短生成的代理命名空间,同时将原始命名空间保留在 WebServices 中,但仍然可以使用智能感知。

提前致谢...

4

0 回答 0