我创建了网络服务:
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服务 我该如何解决这个问题,如果我想让这个网络服务在另一台设备上工作,我该怎么办呢?
答案 0 :(得分:2)
该端口专门用于Visual Studio - 它是Cassini或IIS Express,仅用于调试目的,而不用于实时制作工作。当您准备发布服务时,它可能会在常规永久端口(可能是80)中进入IIS。一旦它在那里,它将始终可供您的客户呼叫。
将服务发布到IIS后,您只需更新客户端的配置文件即可指向真正的永久URL。