简体   繁体   English

WCF未实现接口成员

[英]WCF Not implementing interface member

I am working on a wcf service that connects to database. 我正在连接数据库的wcf服务。 I had debugged and tested my operation playerregistration and clubregistration. 我已经调试并测试了我的运营球员注册和俱乐部注册。 I then tried to test the get functions but i received the error: 然后,我尝试测试get函数,但收到错误:

Error 1 'WebApplication1.ADOService' does not implement interface member '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 错误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

following the error I attempted to remove the get functions however the error remains. 在错误之后,我尝试删除get函数,但是错误仍然存​​在。 Below is the service code 以下是服务代码

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;
        }
    }}}

And Iservice code 和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; }
    }
}

} }

I am assuming that the get functions are the cause of the problem but not sure how to address the error. 我假设get函数是问题的原因,但不确定如何解决该错误。

You've defined the following methods in your interface: 您已经在界面中定义了以下方法:

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);

But only implemented four of them: 但是只实现了其中四个:

playerRegistration
clubRegistration
getplayerInfo
getclubInfo

You haven't actually implemented newMembership in the ADOService class. 您实际上newMembershipADOService类中实现newMembership

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM