0

Webサービスを作成しました:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;

namespace MemberWebService
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [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 Service1 : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet GetMemberData(string memberId, string thirdName)
        {
            SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=Healthy;Integrated Security=TRUE");
            SqlDataAdapter da = new SqlDataAdapter();
            DataSet ds = new DataSet();

            da.SelectCommand = new SqlCommand("SELECT * FROM MemberMaster WHERE MemberId=@MemberId and ThirdName=@ThirdName", cn);
            da.SelectCommand.Parameters.Add("@MemberId", SqlDbType.NVarChar).Value = memberId;
            da.SelectCommand.Parameters.Add("@ThirdName", SqlDbType.NVarChar).Value = thirdName;

            ds.Clear();
            da.Fill(ds);
            return ds;
        }
    }
}

そして私がそれを実行するとき、これはリンクです:

http://localhost:19722/Service1.asmx

そしてそれは大丈夫です。

asp.netでWeb参照として呼び出すと、サーバーポートが開くまで正しく機能します。ポートを閉じると、asp.netページにWebサービスが表示されないため、問題を解決するにはどうすればよいですか。 Webサービスは別のデバイスで動作しますどうすればよいですか?

4

1 に答える 1

2

そのポートは特に Visual Studio に使用されます。これは Cassini または IIS Express のいずれかであり、ライブ プロダクション作業ではなく、デバッグ目的でのみ使用されます。サービスを公開する準備ができたら、通常の永続的なポート (おそらく 80) で IIS に入ります。そこにあると、クライアントはいつでも電話をかけることができます。

サービスを IIS に公開した後は、クライアントが実際の永続 URL を指すように構成ファイルを更新するだけです。

于 2013-03-19T19:22:56.170 に答える