CSharp Silverlight DataSnap Mobile Connector入门
如何从DataSnap REST服务器下载C#Silverlight代理文件
-语言(必填): 指定所请求代理的移动平台和语言。 对于Windows Phone 7,请使用 csharp_silverlight . -协议: 指定要使用的连接协议:http或https。 默认为http。 -主持人: 指定要连接的端口和主机名或IP地址。默认值为带有端口80的localhost。 要指定不同的名称或端口,请使用端口号完全限定名称,并用冒号(“:”)分隔 -输出: 指定要将代理文件下载到的文件夹。 如果未指定,则使用当前文件夹。
C: \Win32ProxyDownloader.exe-语言csharp_silverlight-主机127.0.0.1:8080-输出C:\test
JSON解析dll 代理所需的静态C#源文件 DSProxy.cs,生成的代理
如何使用DSProxy类
使用 系统 ;
使用 系统。 螺纹加工 ;
命名空间 恩巴卡迪罗。 数据快照。 Windows电话7
{
公众的 班 DS代理
{
公众的 班 T服务器方法1 : DSAdmin公司
{
公众的 T服务器方法1 ( DSREST连接 连接 , 异常回调 ExCal公司 ) : 基础 ( 连接 , ExCal公司 )
{
}
私有的 DSREST参数元数据 [] T服务器方法1_EchoString_元数据 ;
私有的 DSREST参数元数据 [] 获取服务器方法1_EchoString_元数据 () {
如果 ( T服务器方法1_EchoString_元数据 == 无效的 ) {
T服务器方法1_EchoString_元数据 = 新的 DSREST参数元数据 [] {
新的 DSREST参数元数据 ( “价值” , DSREST参数方向 . 输入 ,
数据库数据类型 . 宽字符串类型 , “字符串” ),
新的 DSREST参数元数据 ( "" , DSREStParam方向 . 返回值 ,
DBX数据类型 . 宽字符串类型 , “字符串” ),
};
}
返回 T服务器方法1_EchoString_元数据 ;
}
/**
*@param Value[in]-在服务器上键入:string
*@return result-在服务器上键入:string
*/
公众的 代表 空隙 回声字符串回调 ( 字符串 结果 );
公众的 空隙 回声字符串 ( 字符串 价值 , EchoString回调 回调 = 无效的 , 异常回调 ExCal公司 = 无效的 )
{
DSREST命令 cmd公司 = 获取连接 (). 创建命令 ();
cmd公司 . 设置请求类型 ( DSHTTP请求类型 . GET(获取) );
cmd公司 . 设置文本 ( “TServerMethods1.EchoString” );
cmd公司 . 准备 ( 获取服务器方法1_EchoString_元数据 ());
内部连接代表 回声字符串删除 = () => {
如果 ( 回调 != 无效的 ) {
尝试 {
回调 . 动态调用 ( cmd公司 . getParameter(获取参数) ( 1 ). 获取价值 (). 获取字符串 ());
} 抓住 ( 例外 前任 ) {
如果 ( ExCal公司 != 无效的 )
获取连接 (). syncContext(同步上下文) . 发送 ( 新的 发送或后回拨 ( x个 =>
ExCal公司 . 动态调用 ( 前任 . 内部异常 )), 无效的 );
其他的
获取连接 (). 同步上下文 . 发送 ( 新的 发送或后回拨 ( x个 =>
基本ExCal . 动态调用 ( 前任 . 内部异常 )), 无效的 );
}
}
};
cmd公司 . getParameter(获取参数) ( 0 ). 获取价值 (). 设置为字符串 ( 价值 );
获取连接 (). 执行 ( cmd公司 , 这 , 回声字符串删除 , ExCal公司 );
}
}
}
}
DSREST连接 连接 = 新的 DSREST连接 ();
连接 . setHost(设置主机) ( “主机名” );
连接 . 设置端口 ( 端口号 );
连接 . set协议 ( “http” );
这个 主办 属性指定主机名或IP地址。 这个 港口 属性指定服务器正在侦听的端口。 这个 协议 属性指定用于连接的协议。 具体来说:http或https。
DSREST连接 连接 = 新的 DSREST连接 ();
连接 . setHost(设置主机) ( “本地主机” );
连接 . 设置端口 ( 8080 );
连接 . set协议 ( “http” );
DS代理 . T服务器方法1 代理 = 新的 DS代理 . T服务器方法1 ( 连接 , 异常回调 );
代理 . 回声字符串 ( “测试字符串” , ( 字符串 结果 ) =>
{
// ...
}, 异常回调 );
公众的 空隙 异常回调 ( 例外 e(电子) )
{
// ...
}
带有var参数的服务器方法示例
功能 T服务器方法1 . VarParam测试 ( 无功功率,无功功率 价值 : 一串 ) : 一串 ;
开始
价值 := 结构实用程序 . 反向字符串 ( 价值 ) ;
结果 := 价值 ;
结束 ;
私有的 DSREST参数元数据 [] TServerMethods1_VarParam测试元数据 ;
私有的 DSREST参数元数据 [] 获取服务器方法_参数测试_元数据 ()
{
如果 ( TServerMethods1_VarParam测试元数据 == 无效的 ) {
TServerMethods1_VarParam测试元数据 = 新的 DSREST参数元数据 [] {
新的 DSREST参数元数据 ( “价值” , DSREST参数方向 . 输入输出 ,
DBX数据类型 . 宽字符串类型 , “字符串” ),
新的 DSREST参数元数据 ( "" , DSREST参数方向 . 返回值 ,
DBX数据类型 . 宽字符串类型 , “字符串” ),
};
}
返回 TServerMethods1_VarParam测试元数据 ;
}
/**
* @参数 价值 [ 在里面 / 外面的 ] - 类型 在 服务器 : 一串
代理 . 变量参数测试 ( “你好,世界!” ,
( DS代理 . TServer方法1 . VarParamTest返回 结果 ) => {
调试 . WriteLine(写入行) ( 结果 . 价值 );
调试 . WriteLine(写入行) ( 结果 . returnValue(返回值) );
}
);
如何使用重量级回调
公众的 班 我的回叫 : DBX回调 {
公众的 覆盖 TJSON值 执行 ( TJSONArray(TJSON数组) 参数 ) {
调试 . WriteLine(写入行) ( 参数 . ToString(目标字符串) ());
返回 新的 TJSON真 ();
}
}
DSREST连接 ,指定服务器连接信息 包含要注册的服务器通道名称的字符串 包含管理器ID的字符串(服务器独有)
DSCallback频道管理器 mngr公司 =
新的 DSCallback频道管理器 ( 连接 , “chname” , DSCallback频道管理器 . 获取新管理器ID ());
公众的 空隙 测试回调 (){
DSAdmin公司 管理员 = 新的 DSAdmin公司 ( 连接 , 管理异常回调 );
mngr公司 = 新的 DSCallback频道管理器 ( 连接 , “chname” , DSCallback频道管理器 . 获取新经理ID ());
mngr公司 . 寄存器回调 ( “mycb01” , 新的 我的回叫 (), () =>
{
管理员 . 广播到频道 ( “chname” , 新的 TJSONString(TJSON字符串) ( “这是一个广播” ),( 布尔 b条 ) =>
{
mngr公司 . 关闭客户端频道 ();
});
}
公众的 空隙 管理异常回调 ( 例外 e(电子) )
{
// ...
}