这是我第一次尝试使用数据实体创建WCF服务。
我有一个简单的存储过程来查找具有指定返回数的地址。
存储过程(prcGetCOBAddress):
SELECT TOP (@NumberOfRecord)
*
FROM
COB_ADDRESS
WHERE
ADD_FULL LIKE '%' + @FullAddress + '%'
IService1.cs
:
public interface IService1
{
[OperationContract]
COB_ADDRESS FindAddress(int NumReturn, string FullAdd);
}
Service1.svc.cs
:
public class Service1 : IService1
{
public COB_ADDRESS[] FindAddress(int NumReturn, string FullAdd)
{
try
{
using (TestingEntities de = new TestingEntities())
{
return de.prcGetCOBAddress(NumReturn, FullAdd)
.Select(p => new COB_ADDRESS
{
UID_NUM = p.UID_NUM,
ADD_FULL = p.ADD_FULL
}).ToArray();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
}
我得到了IService1
下面的松鼠下划线和错误消息说Service1
没有实现接口成员IService1.FindAddress(int, string)
。 Service1.FindAddress(int, string)}
无法实现IService1.FindAddress(int, string)
,因为它没有匹配的返回类型COB_ADDRESS
。
任何人都可以帮我解决我错过的问题吗?
正如@PaulAbbott所说,接口及其实现不匹配。你的界面是:
public interface IService1
{
[OperationContract]
COB_ADDRESS FindAddress(int NumReturn, string FullAdd);
}
它应该是:
public interface IService1
{
[OperationContract]
COB_ADDRESS[] FindAddress(int NumReturn, string FullAdd);
}