WCF未实现接口成员

时间:2014-10-28 00:38:07

标签: c# asp.net wcf

我正在开发一个连接数据库的wcf服务。我调试并测试了我的操作播放器注册和俱乐部注册。然后我尝试测试get函数但我收到错误:

错误1' WebApplication1.ADOService'没有实现接口成员' WebApplication1.IADOService.newMembership(WebApplication1.playerDetails,WebApplication1.playerDetails,WebApplication1.clubDetails,WebApplication1.memberDetails)' C:\ Users \ Daniel \ Documents \ Visual Studio 2013 \ Projects \ Prac4 \ WebApplication1 \ ADOService.svc.cs 14 18 WebApplication1

发生错误后我试图删除get函数,但错误仍然存​​在。以下是服务代码

public class ADOService : IADOService
{
    public string playerRegistration(playerDetails playerInfo)
    {

        string Message;
        using (SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"))
        {
            conn.Open();

            using (var cmd = new SqlCommand("INSERT into Player(pid, pfname, plname, pphone, paddress, pdob) VALUES (@pid, @pfname, @plname, @pphone, @paddress, @pdob)", conn))
            {
                cmd.Parameters.AddWithValue("@pid", playerInfo.Pid);
                cmd.Parameters.AddWithValue("@pfname", playerInfo.Pfname);
                cmd.Parameters.AddWithValue("@plname", playerInfo.Plname);
                cmd.Parameters.AddWithValue("@pphone", playerInfo.Pphone);
                cmd.Parameters.AddWithValue("@paddress", playerInfo.Paddress);
                cmd.Parameters.AddWithValue("@pdob", playerInfo.Pdob);

                int result = cmd.ExecuteNonQuery();
                if (result == 1)
                {
                    Message = playerInfo.Pid + " Details inserted successfully";
                }
                else
                {
                    Message = playerInfo.Pid + " Details not inserted successfully";
                }
                conn.Close();
                return Message;
            }
        }
    }
    public string clubRegistration(clubDetails clubInfo)
    {

        string Message;
        using (SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"))
        {
            conn.Open();

            using (var cmd = new SqlCommand("INSERT into Club(cid, cname, cfounded, cworldranking) VALUES (@cid, @cname, @cfounded, @cworldranking)", conn))
            {
                cmd.Parameters.AddWithValue("@cid", clubInfo.Cid);
                cmd.Parameters.AddWithValue("@cname", clubInfo.Cname);
                cmd.Parameters.AddWithValue("@cfounded", clubInfo.Cfounded);
                cmd.Parameters.AddWithValue("@cworldranking", clubInfo.Cworldranking);


                int result = cmd.ExecuteNonQuery();
                if (result == 1)
                {
                    Message = clubInfo.Cname + " Details inserted successfully";
                }
                else
                {
                    Message = clubInfo.Cname + " Details not inserted successfully";
                }
                conn.Close();
                return Message;
            }
        }
    }
    public List<playerDetails> getplayerInfo(string pfname, string plname)
    {
        List<playerDetails> playerDetails = new List<playerDetails>();
        {
            using (SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("SELECT * FROM Player WHERE pfname LIKE '%'+@pfname+'%' AND plname LIKE '%'+@plname+'%'", conn);
                cmd.Parameters.AddWithValue("@pfname", pfname);
                cmd.Parameters.AddWithValue("@plname", plname);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        playerDetails playerInfo = new playerDetails();
                        playerInfo.Pid = Convert.ToInt32(dt.Rows[i]["Pid"].ToString());
                        playerInfo.Pfname = dt.Rows[i]["Pfname"].ToString();
                        playerInfo.Plname = dt.Rows[i]["Plname"].ToString();
                        playerInfo.Pphone = Convert.ToInt32(dt.Rows[i]["Pphone"].ToString());
                        playerInfo.Paddress = dt.Rows[i]["Paddress"].ToString();
                        playerInfo.Pdob = DateTime.Parse(dt.Rows[i]["Pdob"].ToString());
                        playerDetails.Add(playerInfo);
                    }
                }
                conn.Close();

            }
            return playerDetails;
        }
    }
    public List<clubDetails> getclubInfo(string cname)
    {
        List<clubDetails> clubDetails = new List<clubDetails>();
        {
            using (SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=c:\\Users\\Daniel\\documents\\visual studio 2013\\Projects\\Prac4\\WebApplication1\\App_Data\\ADODatabase.mdf;Integrated Security=True"))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("SELECT * FROM Player WHERE cname LIKE '%'+@cname+'%'", conn);
                cmd.Parameters.AddWithValue("@cname", cname);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        clubDetails clubInfo = new clubDetails();
                        clubInfo.Cid = Convert.ToInt32(dt.Rows[i]["Cid"].ToString());
                        clubInfo.Cname = dt.Rows[i]["Cname"].ToString();
                        clubInfo.Cfounded = DateTime.Parse(dt.Rows[i]["Cfounded"].ToString());
                        clubInfo.Cworldranking = Convert.ToInt32(dt.Rows[i]["Cworldranking"].ToString());

                        clubDetails.Add(clubInfo);
                    }
                }
                conn.Close();

            }
            return clubDetails;
        }
    }}}

和Iservice代码

[ServiceContract]
public interface IADOService
{
    [OperationContract]
    string playerRegistration(playerDetails playerInfo);

    [OperationContract]
    string clubRegistration(clubDetails clubInfo);

    [OperationContract]
    List<playerDetails> getplayerInfo(string pfname, string plname);

    [OperationContract]
    List<clubDetails> getclubInfo(string cname);

    [OperationContract]
    string newMembership(playerDetails pfname, playerDetails plname, clubDetails cname, memberDetails memberstart);
}
[DataContract]
public class playerDetails
{
    int pid;
    string pfname;
    string plname;
    int pphone;
    string paddress;
    DateTime pdob;


    [DataMember]
    public int Pid
    {
        get { return pid; }
        set { pid = value; }
    }
    [DataMember]
    public string Pfname
    {
        get { return pfname; }
        set { pfname = value; }
    }
    [DataMember]
    public string Plname
    {
        get { return plname; }
        set { plname = value; }
    }
    [DataMember]
    public int Pphone
    {
        get { return pphone; }
        set { pphone = value; }
    }
    [DataMember]
    public string Paddress
    {
        get { return paddress; }
        set { paddress = value; }
    }
    [DataMember]
    public DateTime Pdob
    {
        get { return pdob; }
        set { pdob = value; }
    }

}

[DataContract]
public class clubDetails
{
    int cid;
    string cname;
    DateTime cfounded;
    int cworldranking;


    [DataMember]
    public int Cid
    {
        get { return cid; }
        set { cid = value; }
    }
    [DataMember]
    public string Cname
    {
        get { return cname; }
        set { cname = value; }
    }
    [DataMember]
    public DateTime Cfounded
    {
        get { return cfounded; }
        set { cfounded = value; }
    }
    [DataMember]
    public int Cworldranking
    {
        get { return cworldranking; }
        set { cworldranking = value; }
    }
}
[DataContract]
public class memberDetails
{
    int mid;
    DateTime memberstart;
    DateTime memberend;
    int gamesplayed;

[DataMember]
    public int Mid
    {
        get { return mid; }
        set { mid = value; }
    }
    [DataMember]
    public DateTime Memberstart
    {
        get { return memberstart; }
        set { memberstart = value; }
    }
    [DataMember]
    public DateTime Memberend
    {
        get { return memberend; }
        set { memberend = value; }
    }
     [DataMember]
    public int Gamesplayed
    {
        get { return gamesplayed; }
        set { gamesplayed = value; }
    }
}

}

我假设get函数是问题的原因,但不确定如何解决错误。

1 个答案:

答案 0 :(得分:2)

您已在界面中定义了以下方法:

string playerRegistration(playerDetails playerInfo);
string clubRegistration(clubDetails clubInfo);
List<playerDetails> getplayerInfo(string pfname, string plname);
List<clubDetails> getclubInfo(string cname);
string newMembership(playerDetails pfname, playerDetails plname, clubDetails cname, memberDetails memberstart);

但只实施了四个:

playerRegistration
clubRegistration
getplayerInfo
getclubInfo

您尚未在newMembership课程中实际实施ADOService