TransOrderPross类[ServiceContract]
interface TransOrderPross
{
[OperationContract]
void Add(TransOrder data);
[OperationContract]
List<TransOrder> FindAll();
[OperationContract]
void Update(Guid transorderid);
[OperationContract]
void Delete(Guid transorderid);
}OperationPross类 [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 Re
{
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.Re = Re;
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.Re = Re;
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();
}
}开启服务的Form窗体,点击一个按钮后服务正常开启 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();
}
}Main启动函数,启动Form窗体class Program
{
static void Main(string[] args)
{
ServiceMain f = new ServiceMain();
Application.Run(f);
}
}现在我一开启服务后地址是:http://localhost:8001/DemoWCF,可访问这个地址时出现:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理。这可能是由于协定不匹配(发送方和接收方 Action 不匹配)或发送方和接收方绑定/安全不匹配。请检查发送方和接收方是否具有相同的协定和绑定(包括安全要求,如 Message、Transport、None)这样的错误,有没有人遇到过啊,是不是我这样有问题.请大虾们指点.感激不尽
interface TransOrderPross
{
[OperationContract]
void Add(TransOrder data);
[OperationContract]
List<TransOrder> FindAll();
[OperationContract]
void Update(Guid transorderid);
[OperationContract]
void Delete(Guid transorderid);
}OperationPross类 [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 Re
{
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.Re = Re;
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.Re = Re;
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();
}
}开启服务的Form窗体,点击一个按钮后服务正常开启 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();
}
}Main启动函数,启动Form窗体class Program
{
static void Main(string[] args)
{
ServiceMain f = new ServiceMain();
Application.Run(f);
}
}现在我一开启服务后地址是:http://localhost:8001/DemoWCF,可访问这个地址时出现:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理。这可能是由于协定不匹配(发送方和接收方 Action 不匹配)或发送方和接收方绑定/安全不匹配。请检查发送方和接收方是否具有相同的协定和绑定(包括安全要求,如 Message、Transport、None)这样的错误,有没有人遇到过啊,是不是我这样有问题.请大虾们指点.感激不尽
解决方案 »
- 求教关于ASP.NET MVC的MODEL中使用ADO.NET访问数据库疑惑
- 求个XSL写法,坐等答案
- 做动网论坛+cnblogs差不多功能的网站,要多少时间?小弟第一做,要报时间?求大哥帮忙!
- 请问如何获取listbox多个选中项的值??
- 关于EXCEL客户端打开生成sql语句的问题。
- 不该问的问题:解决方案资源管理器怎么打不开啊?
- 升星了,庆祝顺便问问题...
- 当鼠标移动到DATAGRID的某一行,整行变色的语法怎么写?
- 帮我看看这个SQL语句有什么错啊
- asp.net 页面数据绑定
- 用ITextSharp将GridView的内容导出到PDF时,如何能够让列根据数据来自动调整列宽?
- asp.net中前端返回history.go(-1)或history.back()的问题
无法连接到 http://localhost:8001/DemoWCF。TCP 错误代码 10061: 由于目标机器积极拒绝,无法连接。 127.0.0.1:8001。 ---> System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。 127.0.0.1:8001在服务开启的情况下,我输入这个服务地址:http://localhost:8001/DemoWCF
出现:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理。这可能是由于协定不匹配(发送方和接收方 Action 不匹配)或发送方和接收方绑定/安全不匹配。请检查发送方和接收方是否具有相同的协定和绑定(包括安全要求,如 Message、Transport、None
我想是不是这个原因导致的啊.帮帮忙啊,大哥些
下载“http://localhost:8001/DemoWCF”时出错。
请求失败,错误信息为:
--
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode><faultstring xml:lang="zh-CN">由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理。这可能是由于协定不匹配(发送方和接收方 Action 不匹配)或发送方和接收方绑定/安全不匹配。请检查发送方和接收方是否具有相同的协定和绑定(包括安全要求,如 Message、Transport、None)。</faultstring></s:Fault></s:Body></s:Envelope>
--.
元数据包含无法解析的引用:“http://localhost:8001/DemoWCF”。
服务 http://localhost:8001/DemoWCF 不支持内容类型 application/soap+xml; charset=utf-8。客户端和服务绑定可能不匹配。
远程服务器返回错误: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.。
如果该服务已在当前解决方案中定义,请尝试生成该解决方案,然后再次添加服务引用。我真的不知道哪配错了.
<client>
<endpoint address="http://localhost:8001/" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_TransOrderPross" contract="TransOrderPross"
name="BasicHttpBinding_TransOrderPross" />
</client>
还是不正确,状态还是是Created,可客户端添加服务时都可以找到这个的呀
居然没人会
[OperationContract]
void Add(TransOrder data);
[OperationContract]
List<TransOrder> FindAll();这个TransOrder代码发来看看啦。还有,你private void BtnClose_Click(object sender, EventArgs e)方法应该是关不掉btn_Off_Click(object sender, EventArgs e)方法中Open的Host。
你把[DataContract]放在OperationPross上干什么
那你发送时,判断一下,为空就加点东西.,.
加个属性也好....
确认下服务端是不是basicHttpBinding
中的 public DateTime UpdateTime
{
get;
set;
}
public int Status
{
get;
set;
}
在契约发布的时候都不能序列化的。。