我只是遵循这个 http://www.dotnetcurry.com/ShowArticle.aspx?ID=585做项目,但有错误歧义和缺少部分修饰符。
我在 Iservice1 的代码.cs
namespace WCT_DataServiceApp
{
[ServiceContract]
public interface IService1
{
[OperationContract]
ImageEmployee GetEmpByEmpNo(int EmpNo);
}
[DataContract]
public class ImageEmployee
{
[DataMember]
public int EmpNo { get; set; }
[DataMember]
public byte[] EmpImage { get; set; }
}
}
和 Service1.svc 上的代码.cs
namespace WCT_DataServiceApp
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class Service1 : IService1
{
public ImageEmployee GetEmpByEmpNo(int EmpNo)
{
var Conn = new SqlConnection(@"Data Source=yeo-pcsqlexpress;Initial Catalog=image;Integrated Security=True");
Conn.Open();
var Cmd = new SqlCommand();
Cmd.Connection = Conn;
Cmd.CommandText = "Select * from ImageEmployee where EmpNo=@EmpNo";
Cmd.Parameters.AddWithValue("@EmpNo", EmpNo);
var Reader = Cmd.ExecuteReader();
ImageEmployee objImgEmp = new ImageEmployee();
while (Reader.Read())
{
objImgEmp.EmpNo = Convert.ToInt32(Reader["EmpNo"]);
objImgEmp.EmpImage = (byte[])Reader["EmpImage"];
}
Reader.Close();
Conn.Close();
return objImgEmp;
}
}
}
您的解决方案中似乎已经有类Service1
。如果您在新的 WCF 项目中尝试它,则默认情况下您将获得两个文件,一个用于接口,一个用于类,命名为:IService1.cs
和 Service1.cs
。您需要删除这两个代码或用您的代码替换它们的代码。该错误要求您使用单词 part,该单词用于分部类,因为它假定您在新代码文件中定义分部类Service1
。