我使用德尔福10.1柏林更新2企业和DataSnap客户端/服务器REST框架。德尔福Datasnap客户端代码没有获得未经授权的异常
如果我不运行调试应用程序,并调用用户无权调用一个方法,代码运行没有任何异常,该方法返回一个空应答。
当交互式调试在客户端调用DataSnap服务器方法时,我得到两个关于“未授权”的弹出式例外。
第一个气泡上升并被第二个取代。
第二个异常被“吃掉”,会话/连接关闭,然后该方法返回一个空白结果(例如,如果返回类型是整数,则返回0,而对于字符串返回类型则返回空字符串)。
这在下面的代码段附近发生在Datasnap.DSClientRest单元ExecuteRequest方法结束:
except
on E: TDSRestProtocolException do
LSessionExpired;
end;
为什么这些异常(例如TDSRestProtocolException)未达到我的代码?
我有种想这是一个新的更新2,我记得看到那些异常冒泡之前我的代码更新2
Attached是一个骨架的例子(由德尔福向导生成标准的例子)演示问题 - 点击按钮,你会得到“”而不是“4321”,因为用户没有被授权 - 但没有运行时异常。
我是新来的DataSnap,所以提前为有用的反应和我一起承担:-)
感谢=)
注意这是使用客户端的DataSnap RES T模块(http),而不是简单的TCP/IP客户端DataSnap模块。 –