Back to Top

プログラムの覚書

Category: C#

.NET C#

Visual Studio 2015でWebサービスを作成する

Visual Studio 2015でWebサービスを作成する手順を記載します。

Webサービスを作成する

1.「ファイル」-「新規作成」-「Webサイト」を選択します。

2.ASP.NET空のWebサイト を選択しサイトを作成します。

3.ソリューションエクスプローラー上で右クリックし、「追加」-「新しい項目の追加」で「Webサービス(ASMX)」を選択します。

以上でWebサービスが作成完了です。

動作テスト

ソリューションエクスプローラー上のWebService.asmxを右クリックし「ブラウザで表示」を選択して表示したら動作テストOKです。

次に、そのときのURL(http://localhost:54728/WebService.asmx)などをクライアントで使用します。

 

クライアントを作成する

1.「ファイル」-「新規作成」-「プロジェクト」を選択します。

2.Windowsフォームアプリケーション を選択し作成します。

3.ソリューションエクスプローラー上で右クリックし、「追加」-「サービス参照」を選択し、サービス参照の追加をします。

アドレスにWebサービスのURL(http://localhost:54728/WebService.asmx)を[移動]を押します。サービス(S)枠内に内容が表示されたら[OK]でを押します。

※見つからない場合、Webサービスが起動していません。WebサービスをVisualStadioで起動させたままクライアントを作成するとうまくいきます。本来は、Webサービスのアドレスを作成してください。

フォームにボタンを追加したとして次を説明します。

private void button1_Click(object sender, EventArgs e)
{
    ServiceReference1.WebServiceSoapClient web = new ServiceReference1.WebServiceSoapClient();

    string s = web.HelloWorld();

    MessageBox.Show(s);
}

画面にHello Worldが表示されたら完了です。

 

直接アドレスを設定

private void button1_Click(object sender, EventArgs e)
{
    System.ServiceModel.EndpointAddress endpointAddress = new System.ServiceModel.EndpointAddress("http://localhost:54728/WebService.asmx");

    ServiceReference1.WebServiceSoapClient web = new ServiceReference1.WebServiceSoapClient();
    web.Endpoint.Address = endpointAddress;

    string s = web.HelloWorld();
    MessageBox.Show(s);
}

 

Posted in C# | Leave a reply

Visual Studio 2015でWCFサービスを作成する

Visual Studio 2015でWCFサービスを作成する手順を記載します。

WCFサービスを作成する

1.「ファイル」-「新規作成」-「WCFサービス」を選択します。

以上でWCfサービスが作成完了です。

動作テスト

ソリューションエクスプローラー上のService.svcを右クリックし「ブラウザで表示」を選択して表示したら動作テストOKです。

そのときのURL(http://localhost:54210/Service.svc)などをクライアントで使用します。

 

クライアントを作成する

1.「ファイル」-「新規作成」-「プロジェクト」を選択します。

2.Windowsフォームアプリケーション を選択し作成します。

3.WCFサービスのインターフェイス(IService.csなど)をクライアント側に記述します。

using System;
using System.Windows.Forms;
using System.ServiceModel;

namespace Client
{
    [ServiceContract]
    public interface IService
    {
        [OperationContract]
        string GetData(int value);
    }

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // エンドポイントを作成
            EndpointAddress endPoint = new EndpointAddress("http://localhost:54210/Service.svc");

            // プロキシを作成
            IService proxy = ChannelFactory<IService>.CreateChannel(new BasicHttpBinding(), endPoint);

            // WCFサービスのメソッドを呼び出します。
            try
            {
                string outputMessage = proxy.GetData(10);
                MessageBox.Show(outputMessage);
            }
            catch (Exception ex)
            {
                MessageBox.Show("呼び出しエラー:" + ex.Message);
            }

        }
    }
}

 

Posted in C# | Leave a reply