WCF问题,高手请进...顶者有分,解决立马结贴~~~在线等
TransOrderPross类
[ServiceContract] interface TransOrderPross { [OperationContract] void Add(TransOrder data); [OperationContract] List<TransOrder> FindAll(); [OperationContract] void Update(Guid transorderid); [OperationContract] void Delete(Guid transorderid); }
[DataContract] public class OperationPross:TransOrderPross { #region 初始化 public Guid TransOrderID { get; set; } public DateTime InputTime { get; set; } public string Updater { get; set; } public DateTime UpdateTime { get; set; } public int Status { get; set; } public int IsCancel { get; set; } public string Remark { get; set; } public string Inputer { get; set; } public string TransOrderNO { get; set; } public string ConsignMan { get; set; } public string ReceiveMan { get; set; } public string OrderTotalFee { get; set; } public DateTime ConsignDate { get; set; } public string OrderLoading { get; set; } public string OrderUnloading { get; set; } #endregion DataTransOrderDataContext db = new DataTransOrderDataContext(); public void Add(TransOrder data) { data.TransOrderID = TransOrderID; data.InputTime = InputTime; data.Updater = Updater; data.UpdateTime = UpdateTime; data.Status = Status; data.IsCancel = IsCancel; data.Remark = Remark; data.Inputer = Inputer; data.TransOrderNO = TransOrderNO; data.ConsignMan = ConsignMan; data.ReceiveMan = ReceiveMan; data.OrderTotalFee = OrderTotalFee; data.OrderLoading = OrderLoading; data.OrderTotalFee = OrderTotalFee; data.OrderUnloading = OrderUnloading; db.TransOrder.InsertOnSubmit(data); db.SubmitChanges(); } public List<TransOrder> FindAll() { var result = from u in db.TransOrder select u; List<TransOrder> list = result.ToList<TransOrder>(); return list; } public void Update(Guid transorderid) { var result = from u in db.TransOrder where u.TransOrderID == transorderid select u; foreach (TransOrder data in result) { data.TransOrderID = TransOrderID; data.InputTime = InputTime; data.Updater = Updater; data.UpdateTime = UpdateTime; data.Status = Status; data.IsCancel = IsCancel; data.Remark = Remark; data.Inputer = Inputer; data.TransOrderNO = TransOrderNO; data.ConsignMan = ConsignMan; data.ReceiveMan = ReceiveMan; data.OrderTotalFee = OrderTotalFee; data.OrderLoading = OrderLoading; data.OrderTotalFee = OrderTotalFee; data.OrderUnloading = OrderUnloading; db.SubmitChanges(); } } public void Delete(Guid transorderid) { var resutlt = from u in db.TransOrder where u.TransOrderID == transorderid select u; db.TransOrder.DeleteAllOnSubmit(resutlt); db.SubmitChanges(); } }
public partial class ServiceMain : Form { public ServiceMain() { InitializeComponent(); } Uri baseAddress = new Uri("http://localhost:8001/"); string WCFservice = "DemoWCF"; private void btn_Off_Click(object sender, EventArgs e) { ServiceHost Host = new ServiceHost(typeof(OperationPross), baseAddress); Host.AddServiceEndpoint(typeof(TransOrderPross), new BasicHttpBinding(), WCFservice); ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; Host.Description.Behaviors.Add(smb); Host.Open(); TB_State.Text = "启动"; TB_Address.Text = baseAddress.ToString() + WCFservice; MessageBox.Show("服务正常开启!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); BtnClose.Enabled = true; btn_Off.Enabled = false; // Host.Close(); } private void BtnClose_Click(object sender, EventArgs e) { Uri baseAddress = new Uri("http://localhost:8001/"); ServiceHost Host = new ServiceHost(typeof(OperationPross), baseAddress); Host.AddServiceEndpoint(typeof(TransOrderPross), new BasicHttpBinding(), WCFservice); ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; Host.Description.Behaviors.Add(smb); Host.Close(); MessageBox.Show("服务关闭成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); TB_State.Text = "关闭"; TB_Address.Text = "尚未获得有效的地址信息!"; BtnClose.Enabled = false; btn_Off.Enabled = true; } private void button1_Click(object sender, EventArgs e) { Application.Exit(); } }
class Program { static void Main(string[] args) { ServiceMain f = new ServiceMain(); Application.Run(f); } }
[OperationContract] void Add(TransOrder data); [OperationContract] List<TransOrder> FindAll();
[解决办法]
没细看,你说action为空,没处理,
那你发送时,判断一下,为空就加点东西.,.
加个属性也好....
[解决办法]
帮顶....
[解决办法]
帮你顶