Visual Studio 2010 を使用していません。webmethod としてマークしたクラス ファイルがあります。.NET 3.5 フレームワークを対象とする C# コンパイラを使用してコンパイルできます。
これを Web サービスにするにはどうすればよいですか? 何か案は?
Visual Studio 2010 を使用していません。webmethod としてマークしたクラス ファイルがあります。.NET 3.5 フレームワークを対象とする C# コンパイラを使用してコンパイルできます。
これを Web サービスにするにはどうすればよいですか? 何か案は?
一般に、これは悪い考えです。
一般に、Web サービスはサービス指向の方法で動作するように設計されています。ネットワーク経由で呼び出されることを想定しており、それを念頭に置いて設計されています。
クラスは通常、そのメソッドの呼び出し元と同じプロセスで動作するように設計されています。たとえば、通常、クラスのメソッドの呼び出しは安価であるため、多くのきめ細かいメソッドを使用してクラスを設計することは理にかなっています。Web サービスの呼び出しは、通常ネットワークを経由するため、通常はよりコストがかかります。より少ない粗粒度の方法でサービスを設計する方が理にかなっています。
通常、Web サービスはステートレスになるように設計する必要があります。一般に、クラスは状態を維持できます。例として、銀行口座を表すクラスがあります。このようなクラスが口座残高の現在の合計を維持し、Deposit および Withdraw メソッドが呼び出されたときにその合計を変更することは完全に理にかなっています。ただし、ネットワーク全体のすべてのトランザクションに対して Deposit と Withdraw を呼び出す必要はありません。代わりに、それぞれが Deposit または Withdrawal を表す Transaction オブジェクトのリストをサービスに送信できます。ネットワークを介して何度も呼び出すのではなく、1 回の操作でリストをサービスに送信します。
通常、WebService は、Web プロジェクトとして使用すると自動的に構成されます。通常のクラス ライブラリの場合は、WCF クラスを使用し、そのクラスに OperationContract を使用してマークを付けた方がよいでしょう。
WCF の場合、クラス ライブラリの構成も非常に簡単です。
まず、クラスがWebServiceから継承されていることを確認してください。次に、新しい WebService ASMX ファイル/クラスをプロジェクトに追加します。新しいクラスにメイン クラスを継承させます。これで、URL を介して新しい Web サービスにアクセスできるようになります。例、http://example.com/WebService.asmx