Visual Studio 2010でASPを作成する.Net Web Service


多くの人がフォーラムで、Visual Studio 2010では「ASP.Net Web Service」というプロジェクトを作成できないと言っています.次の投稿者は、マイクロソフトがWeb ServiceをWCFに統合したためだと言っています.Net Framework Targetが3.5に設定されている非常に「Tricky」なやり方ですが、実はこれらの言い方は正確ではありません.マイクロソフトは確かにWCFでWebサービスを統合しているが、マイクロソフトがVisual Studioで伝統的なWebサービスを作成する準備ができていないわけではない.実は正しいやり方は簡単で、みんなは見るとすぐに悟った.
ステップ1:「ASP.Net Empty Webアプリケーション」プロジェクトの作成
ステップ2:プロジェクトに「Webサービス」の新しいプロジェクトを追加する
最初のステップの後、Visual Studio 2010は、1つのサイトプロファイル(Web.config)のみを含む空のサイトを作成し、残りは何もありません.
Visual Studio 2010のSolution Explorerで、現在のプロジェクトを選択し、新しいプロジェクトを追加します(右クリックメニュー:Add-->New Item)、Web Serviceのタイプを選択します.
ここを見て読者ははっと悟るだろう.
はい、続けます.
ステップ3:エンコード、実行
Webサービスというnew itemを追加した後、Visual Studioは私たちのために例示的なWeb方法を書いてくれました.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace sitedemo.Services
{
    /// 
    /// Summary description for CalculateService
    /// 
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class CalculateService : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

直接プレスF 5で結果が表示されます.
このコードを書き換えて、独自の方法を追加します.
using System.Web.Services;

namespace sitedemo.Services
{
    /// 
    /// Summary description for CalculateService
    /// 
    [WebService(Namespace = "http://tempuri.org/")]
    public class CalculateService : WebService
    {
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public int Add(int x, int y)
        {
            return x + y;
        }
    }
}

実行:
どうですか.簡単ではありませんか.
まとめ
振り返ってみましょう.VS 2010以前のバージョンの古いWebサービスの作成方法から、今までの新しい変化まで、Visual Studioは何を変更しましたか.
手元の机械には古いVisual Studioが入っていません.ネット上でチュートリアルのスクリーンショットをつかみましょう.古いVisual StudioのWebサービスを作成するときに新しいプロジェクトを作成するスクリーンショットを見てみましょう.
多くの人がVisual Studio 2010ではWebサービスを作成できないと言っていますが、上のスクリーンショットの「ASP.Net Webサービス」プロジェクトを探しているのではないでしょうか.
振り返ってみると、マイクロソフトはVisual Studio 2010でかなり合理的な変更をしました.
Webサービスは単独では存在しません.HostはWeb Site/Webアプリケーションの上にある必要があります.したがって、1つのWeb Site/WebアプリケーションにAdd new itemでWebサービスを追加するのが最も合理的な方法です.