1

私はこのプロジェクトを、それを使用するWebアプリケーション内に依存するWebサービスをネストすることを決定したgoofballによって開発されました。これにより、最初に変更を公開せずにWebServiceを更新できず、公開場所でWebServiceを更新しないと変更を公開できないため、変更の公開で問題が発生しました。それは完全に逆説的です。

これを簡単に修正する方法について何か提案はありますか?どういうわけか、WebServiceを個別に公開できる別のプロジェクトに抽出するのが最善かもしれないと思っています(これは結局のところベストプラクティスですよね?)。また、プロジェクトを.NET 4に更新しました。これには、代わりにWCFサービスを使用するオプションがありますが、プロジェクトの大幅なやり直しが必要な場合は、できるだけシンプルにしたいと思います。

この問題を説明するコードを提供することは困難ですが、プロジェクトの基本的な階層は次のとおりです。

Solution
    Project
        WebService
            MyService 'This is a reference to the Web Service
        Service
            MyService.asmx 'This is the actual code for the Web Service
        [Other Code Pages within the project]

編集:私がこれをした場合はどうなりますか?このようにして、それらは互いに独立してコンパイルおよび公開できます。

Solution
    Project - App
        Web Reference
            MyService 'This is a reference to the Web Service
        [Other Code Pages within the project]
    Project - Service
        Service
            MyService.asmx 'This is the actual code for the Web Service

残りの唯一の決定は(これが推奨されるアプローチであると仮定して)、WCFサービスライブラリまたはWCFサービスアプリケーションのどちらを作成するかということです。(このサービスはこの1つのアプリでのみ使用され、他のアプリでは共有されないことに注意してください)。

4

1 に答える 1

2

私は間違いなくWebサービスを新しいプロジェクトに抽出します。

さらに、プロジェクト間で共通する他の「共有」コード(クラス、モジュール)がある場合、共有する必要のあるコードの量に応じて、いくつかの選択肢があります。

1)1つのプロジェクトまたは別のプロジェクトのソースファイルをリンクします(クラスの物理コピーが1つだけになるようにします)

2)各プロジェクトが参照するDLLプロジェクトを作成し、共有コードをそのプロジェクトに移動します。

3)(明らかに)各プロジェクトでコードを複製します。

于 2013-01-09T02:36:06.843 に答える