1

これは、実際の「問題」ではなく、表面的な問題です。代わりに、多くの PageMethods を WebService 呼び出しに変換するソリューションがあります。一部の PageMethods は数百キロバイトのページ オーバーヘッドを作成したため、それらを独自の WebServices に抽出して、ページ オーバーヘッドを削減し、JavaScript プロキシのクライアント側キャッシュを有効にすると考えました。

ただし、プロジェクトは多くの名前空間で構成されています。CompanyName.Website.Services.MyService.ServiceMethod

これは文字通り、同じ名前空間の JavaScript に変換されます。ほとんどの場合、これは非常に便利ですが、サービスに約 20 個のメソッドがある場合は、常に同じ名前空間を作成するため、非常に面倒になります。

少し調べたところ、自分のエイリアスを次のように書けることがわかりました

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

ただし、これを行うと、Visual Studio 2010 は IntelliSense を提供できなくなります。期待どおりに機能しますが、私が大好きになった甘い、甘いインテリセンスを使用することはできません:)

だから、私の質問はこれです: 生成されたプロキシにエイリアスを提供する方法はありますか (カスタムタイプでできるように)?

[System.Web.Script.Services.GenerateScriptType(typeof(MyService), ScriptTypeId = "MyServiceAlias")] ある種のエイリアスを作成する属性を使用してみましたが、それがどのような影響を与えるかを実際には理解できませんでした。さらに、WebService クラスのような静的な型に使用することは想定されていないと思います。

私の要件は、生成されたプロキシの名前空間を WebServices に元の名前を保持しながら短縮できることですが、それでも IntelliSense を使用できるようにすることです。

前もって感謝します...

4

0 に答える 0