社区
Web Services
帖子详情
重新调用一个方法。
Meditate
2002-06-11 03:08:29
如果客户端调用一个方法,而丢失了服务器的响应,那么重新调用这个方法是不合适的。比如说,如果向服务器发送一个采购大量木材的订单,服务器已经介绍到这个请求并且进行了处理,但是客户机却丢失了服务器返回的响应,那么客户端重新尝试调用这个方式是不允许的。
-----------
但是在web service的体系结构中如何避免呢?
...全文
47
9
打赏
收藏
重新调用一个方法。
如果客户端调用一个方法,而丢失了服务器的响应,那么重新调用这个方法是不合适的。比如说,如果向服务器发送一个采购大量木材的订单,服务器已经介绍到这个请求并且进行了处理,但是客户机却丢失了服务器返回的响应,那么客户端重新尝试调用这个方式是不允许的。 ----------- 但是在web service的体系结构中如何避免呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Meditate
2002-06-13
打赏
举报
回复
谢谢知秋一叶兄!
这个我明白,我曾经做过类似的东西,看来还得重新造轮子!
烦哪!!!
Meditate
2002-06-13
打赏
举报
回复
呵呵!谢谢知秋一叶兄!
这个我明白的,我曾经做过,看来现在还得自己造轮子,烦哪!
qqchen79
2002-06-12
打赏
举报
回复
对呀,其实就是利用SoapHeader重新实现MSMQ的消息机制,但是具体的标准还没有定下来,所以M$也不能提供具体的实现。
自己做一个简单的模型应该不算很繁的说。:)
Meditate
2002-06-12
打赏
举报
回复
只秋一页兄所提到的方案是一种基于消息队列的架构,可以用MSMQ来实现(避免重造车轮),可是我看MOC(微软官方教材)上好像还有其他的方案,而不是使用这种方法,可是他并没有给出方案:(
Lostinet
2002-06-12
打赏
举报
回复
一个有效的模型可以这样:(类似于事务)(不知道是用什么语言)
function Post(mypostinfo)
{
done=false;
try
{
ID=SoapClient.Start_Post("postwhat")
SoapClient.Do_Post(mypostinfo,ID)
}catch(x){
//无论情况怎么样,申请无效的。
//重复这个过程,得到新的ID,重新发一次。
}
do
{
try
{
if(SoapClient.End_Post(ID))
{
done=true
break;
}
}
catch(x)
{
//这里不同,可能定单已经生成了。
//Cllient应该把ID保留。。那样可以下次查询
}
if(not_support_save)//如果没有办法保存了,放弃了。
{
break;
}
save(ID)
//这里要么确定是否重发,什么其他东西的。。。
//或者break;
}while(1)
return done;
}
Post(mypostinfo)
以后重复这个,一直到不想理会这个帐单为止:
(如果一直都联系不上,认命了吧?)
if(done==false)
{
//那么没有办法了,只能:
haveDone=false
coll=SoapClient.EnumMyPost()
for(i=0;i<coll.length;i++)
{
postinfo=coll.item(i)
if(CheckIsEqual(postinfo,mypostinfo))
{
haveDone=true
break
}
}
if(!havedone)Post(mypostinfo)
}
Lostinet
2002-06-12
打赏
举报
回复
那不是WebService的问题吧?是编程模式的问题。
例如最恶劣的情况,
发送定单后,连结果都收不到。。
[qqchen79的方法很通用]
但是应该是Client没有收到回复,应该传递ID去查询(当然Server也要提供查询定单的接口)
就好想打电话订饭,通常是打电话过去查询饭是否做好了,而不是重复要求做一份饭菜。
qqchen79
2002-06-11
打赏
举报
回复
比较简单的方法是给每个消息加个ID,Client没有受到回复就重发,Server受到重复的ID就忽略消息。
qqchen79
2002-06-11
打赏
举报
回复
这是目前WebService的主要问题之一,还没有标准的解决方法。
先要在Soap上面实现Route和Transaction支持,然后才有Reliable Message。
如果要自己实现的话可以参考这个:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml11192001.asp
qqchen79
2002-06-11
打赏
举报
回复
这是目前WebService的主要问题之一,还没有标准的解决方法。
先要在Soap上面实现Route和Transaction支持,然后才有Reliable Message。
如果要自己实现的话可以参考这个:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml11192001.asp
node-v12.14.0-darwin-x64.tar.xz
Node.js,简称Node,是
一个
开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
基于使用microPython的开发单片机设计源码.zip
我们在单片机开发中常会遇到需要将UTF-8转换为GBK编码的需求。在了解各种编码格式的情况下可知, UFT-8不能直接转成GBK,需中转成unicode再转换为gbk。而unicode和gbk之间没有算法可以直接计算,需要查表方式获取。 网上有一些C语言实现的代码,我这里分享一种microPython的实现代码 接下来就是要考虑表的存储方式了,刚开始我想着把表存到代码里直接通过索引实现编码转换。但是gb2312有七千多个字符全部存储要耗费很大内存,即使是32位的esp32也只有512k的内存,加上其他资源的消耗,剩余的内存不足以存储编码转换表。 于是只能将表保存成
一个
文件(转化成bin文件会比较好,
方法
类似),通过读写文件来减少内存开销。 具体的查表就是简单的二分法
基于VB实现的车队综合业务管理系统(论文+源代码)
基于VB实现的车队综合业务管理系统(论文+源代码) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。
基于知识图谱的推荐算法-NCFG的实现python源码+运行说明.zip
基于知识图谱的推荐算法-NCFG的实现 运行环境 python == 3.7.0 torch == 1.12.0 pandas == 1.1.5 numpy == 1.21.6 sklearn == 0.0 数据集介绍 music-音乐 book-书籍 ml-电影 yelp-商户 文件介绍 ratings.txt:记录用户点击的项目,1代表点击了,0代表没有点击 kg.txt:知识图谱文件,第一列是头实体,第二列是尾实体,第三列是关系 user-list.txt:用户及其id文件,第一列是用户的id,第二列是用户 其余文件可忽略
JAVA002打飞机游戏设计(程序+设计说明书).zip
JAVA002打飞机游戏设计(程序+设计说明书).zip
Web Services
12,162
社区成员
16,328
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章