c#写的http服务器接收post请求的问题
这个需要把你代码发出来才知道什么原因,不过一般可以使用事务,这样完成一个存储过程,才会执行另外一个,如果一个存储过程中有类似自增操作,则执行两个存储过程就不会有相同结果了。
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。如果执行出错,则数据会回滚恢复。
是http,超文本传送协议是一种详细规定了浏览器和万维网服务器之间互相通信的规则。
典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。
作为一些其它服务器的上层,并且如果必须的,可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。
http报文格式:
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体。
请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。
-超文本传送协议
就新建个webservice项目,然后写个函数类似如下都行
12345678910
public void Up(XmlDocument doc) { //里面通过解析xml操作你自己的数据库 } public XmlDocument Down() { //查询数据库并生成xml return new XmlDocument(); }
如果XmlDocument他那边不能接收你就直接改成string类型也行。
顺便说下VS里新建WCF服务项目类型也可以实现类似web service的功能,而且更推荐。
追问
public XmlDocument Down()的意思就是将数据库的字段名全部转换成XML格式,然后返回给对方,对方就根据里面的字段名进行赋值再通过public void Up(XmlDocument doc)这样返回过来吗?
追答
实际上webservice与你平时编程没区别,最大的区别就是要考虑到webservice就是为了跨平台使用的,也就是纯文本类型实际上是最通用的,因此不管参数或者返回值都最好是string,int等基本类型,当然XmlDocument理论上也可以我没试过,你自己多试就知道了。
追问
但我想提供一个数据库表名的类给他进行调用,毕竟所有字段的类型要跟数据库的一致,所以想返回值是一个表的类名,这样的话,是不是应该写成
public XXX getXXX()
{
return new xxx();
}
XXX为某个数据库表的类名,这样对方就能得到我这个类和他对应的属性,然后使用下面的方法返回数据
public void setXXX(XXX x)
{
//判断XXX的值并处理
0条评论