6

私たちのチームは、5分以上の投資であるため、ソリューションのサービス参照を更新することを恐れ始めています。すべてがVisualStudioのWebサーバー内のローカルホストです。

私の質問は-この問題が何であるかをどのようにデバッグできますか?終わったら問題なく動作しますが、長い遅延はおかしいです。どこを見ればよいかわからない場合は、おそらくこれを解決できます。

4

5 に答える 5

1

.suo ファイルは、頻繁に更新されるため、おかしくなっている可能性があります。これは、ソースを調べることで確認できます。この場合は、.suo を削除して参照を更新できます。他のユーザー設定を忘れた場合に備えて、バックアップを作成することをお勧めします。

もう 1 つのオプションは、サービスの WSDL が非常に大きくなりすぎており、弾丸を噛む必要があるというものです。

影響を軽減したい場合は、計画と呼ばれるあまり知られていない秘密を使用して、サービス担当者に契約を結び付けてもらいます。;-) 正直なところ、VS で発生する多くの問題の根本的な原因は、多くの場合、不十分な計画です。

于 2011-06-17T17:28:31.690 に答える
1

Visual Studio でsvcutil代わりに使用すると生成時間が短縮されることに気付きましたが、生成されるコードが若干異なる場合があります (詳細は後述)。Add Service Reference

職場では、約 100 のサービス操作と 100 のサービス コントラクトで構成される WCF サービスがあり、Visual Studio 2012 でのプロキシ生成は、サービスによって公開された WSDL から開始され、約 7 分かかります。次に、svcutil(オプションなしで)使用しようとしましたが、生成には約2分しかかかりませんでした。

/enableDataBindingサービス参照 ( 、/serializable/namespace:*,myns/syncOnlyおよび) で構成されているのと同じ特性に一致するようにいくつかのオプションを追加する必要がcollectionType:System.ComponentModel.BindingList'1あり、このオプションを使用すると、生成時間が 3 分半に増加しました。全体的に、プロキシの生成は桁違いに高速ではありませんが、少なくとも生成時間は半分に短縮されるはずです。

私の経験では、2 つの生成方法には、指摘したいいくつかの違いがあります。

  • Visual Studio はdatasourceファイルを生成します (オブジェクト データソースを Windows フォーム プロジェクトに追加するときに Visual Studio によって生成されるファイルです。この SO スレッドも参照してください)。svcutilそれらを生成するオプションはありません。初めてコントラクトにデータバインドする必要があるときは、Visual Studio でファイルを生成する必要があるため、大きな問題にはなりません。余談ですが、プロキシが別のアセンブリでコンパイルされている場合、参照プロジェクトは生成されたdatasourceファイルを再利用できませんでした。これらのファイルはアセンブリに含まれておらず、とにかく再生成されるからです。

  • サービス コントラクトのConfigurationNameプロパティは異なる可能性があります。これは、属性値を生成する際に 2 つの生成メソッドが対象の名前空間を異なる方法で考慮するためと思われます。生成された を使用しないため、これは私たちの場合の問題app.configです。app.configただし、これは、新しい値に一致するように を変更するかConfigurationName、生成されたプロキシ ソースのプロパティを(自動的に) 変更することで、簡単に管理できます。

  • svcutilすべてのExtensionDataグリッドが. 前の問題と同様に、これは のようなツールを使用して属性を追加することで処理できます(たとえば、この回答に含まれる PowerShell スニペットを使用しました)。Browsable(false)ExtensionDatased

于 2013-08-15T13:55:04.247 に答える
0

Web 参照の更新に時間がかかる問題がありました。私は時代に夢中でした。1時間以上。

一部の同僚は、ワークスペース パスを追加して Windows Defender から除外するように指示し、問題を解決しました。

于 2016-02-08T17:40:02.760 に答える