【问题标题】:Error: does not implement interface member错误:未实现接口成员
【发布时间】:2013-12-27 21:26:10
【问题描述】:

我正在尝试构建 Restful WCF 服务,但遇到以下错误

错误 CS0535:“WcfPOC.RestServiceImpl”未实现接口成员“WcfPOC.IRestServiceImpl.SaveEmployee(WcfPOC.RequestData)”

下面是我的代码。

RestServiceImpl .svc.cs

namespace WcfPOC
{
    public class RestServiceImpl : WcfPOC.IRestServiceImpl
    {

        public string SaveEmployee(ResponseData rData) {
            try
            {
                using (SPSite site = new SPSite(SPContext.Current.Web.Url))
                {
                    SPWeb web = site.OpenWeb();
                    SPListItemCollection listItems = web.Lists["Emply"].Items;
                    SPListItem item = listItems.Add();
                    item["Name"] = rData.Name;
                    item["Email"] = rData.Email;
                    item["EmployeeID"] = rData.EmployeeID;
                    item["Role"] = rData.Role;
                    item.Update();
                }
                return "Success";
            }catch(Exception e){
                return "Error"+e;
            }
        }
    }

    [DataContract]
    public class RequestData
    {
        [DataMember]
        public string Name { get; set; }
        public string Email { get; set; }
        public string EmployeeID { get; set; }
        public string Role { get; set; }
    }

    [DataContract]
    public class ResponseData
    {
        public string Name { get; set; }
        public string Email { get; set; }
        public string EmployeeID { get; set; }
        public string Role { get; set; }
    }
}

IRestServiceImpl.cs

namespace WcfPOC
{
    public class IRestServiceImpl
    {
        // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IRestServiceImpl" in both code and config file together.
        [ServiceContract]
        public interface IRestServiceImpl
        {            
            [OperationContract]
            [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "SaveEmployee")]
            string SaveEmployee(RequestData rdata);

        }
    }

}

任何帮助都可以得到。

【问题讨论】:

  • 为什么在同名的类中有那个接口?

标签: c# wcf sharepoint-2010 wcf-rest


【解决方案1】:

界面:

string SaveEmployee(RequestData rdata);

public string SaveEmployee(ResponseData rData)

您的编译错误来自您在接口和类之间的方法签名中使用了两个不同的类:RequestData vs ResponseData。 您可能不需要使用具有相同设计的两个类。一个就够了吧?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多