DataSnap与JSON序列化(5)

一、用ASP.Net做客户端调用REST Server

 

在Delphi prism xe中使用ASP.Net做客户端,

(1)通过http Get调用可以:

(2)通过DataSnap Client调用

调用REST Server会出现一个错误:

具体应该是:

'Borland.Data.DbxCommonDriver, Version=15.0.0.0, Culture=neutral, PublicKeyToken=a91a7c5705831a4f' or one of its dependencies

 

已经确认这是个bug,https://forums.embarcadero.com/message.jspa?messageID=294148#294148

 

二、Delphi prism能写REST Server吗?

 

Delphi prism xe没有直接写REST Server的project wizard,但是可以参考visual c#/Web/WCF REST Service Application的写法,然后在Prism中,建立一个Web/ASP.Net Web Application项目,然后,在Project右键,“添加”-“import c#”,选到那个Service1.cs,会自动转成Service.pas,在其中写个函数:

 

方法前因为要加[WebGet(UriTemplate := 'Sum/{a}/{b}')],按参数列举出URI的样式,所以函数参数必须是字串,定义成a:integer就编译不过。(我不确定是不是这样定死了的)

 

然后,打开global.asax.pas,在其中写上:

记得useing 这几个:

  System.ServiceModel,
  System.ServiceModel.Activation,
  System.Web.Routing,

 

然后编译,ok了。

 

在IE中执行:http://localhost:54795/Service1/Sum/3/4

出现错误:

查看原文件,看到的是:

如果在函数的Attribute中加上ResponseFormat := WebMessageFormat.Json,就可以看到结果了:

 

后续希望prism能直接提供这样的REST Server project wizard。或者希望Visual Studo Shell的project wizard都有一个语言选项,让不同的厂家以不同的语言来实现,如delphi,c#,vb.Net等。

 

三、REST Server的部署

 

以上是在IDE调试执行的。

在用dll部署到windows7的IIS7中,http://localhost:8084/WebApplication3.dll执行时出现了如下错误:

将继续研究......

 

四、Delphi prism xe能用datasnap来写REST Server吗?

 

确认了在delphi prism xe中无法使用DataSnap来写REST Server,即无法使用TDSServer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值