当前位置: 首页 > news >正文

医程通 网站做的太/手游推广平台哪个好

医程通 网站做的太,手游推广平台哪个好,2023年西安最新疫情,平面设计服务方案在进行程序开发的过程中,遇到一个问题,怎么保持会话。 因为一帮进行方法调用很少涉及到即时身份验证的。 例如: 1:客户端登录后服务端保存登录用户信息; 2:客户端持有验证通过key再次请求; 3&am…

在进行程序开发的过程中,遇到一个问题,怎么保持会话。

因为一帮进行方法调用很少涉及到即时身份验证的。

例如:

1:客户端登录后服务端保存登录用户信息;

2:客户端持有验证通过key再次请求;

3:服务端得到key对比session存储key进行身份验证。

问题来了,请求服务,请求完成后,为了节约服务器资源,会断开连接,服务端如何识别是哪次请求的session呢?

这个时候就需要在第一次请求时,服务端返回sessionkey ,客户端再次请求时再请求头部使用此sessionkey表面身份,

在java端的方法如下:

public class WSHelper implements Runnable {private static ExecutorService pool =  Executors.newSingleThreadExecutor();private static final String TAG = "WSHelper";// 设置webservices的超时时长private static final int ACCESS_TIMEOUT = 15000;private static String sessionId ;private WSParams mPs;private WSCallBack mCallback;public static void setSessionId(String id){sessionId = id;}private WSHelper( WSParams ps , WSCallBack callback){mPs = ps;mCallback = callback;}//namespace:命名空间(http://www.ulife.com.cn/)
//
methodName:方法名称
//url:服务调用地址(http://192.168.0.250/WebService/UHomeStationService.asmx)
//params:参数

public static Object callWebService(String nameSpace, String methodName, String url, Map<String, Object> params) {
final String soapAction = nameSpace + methodName;Log.e(TAG, "#开始调用WebServices → nameSpace= " + nameSpace + "; methodName= " + methodName + " url= " + url + "; sessionId="+ sessionId +"; params= " + params);// 1.创建数据对象 参数1:webServices命名空间 2:要访问的WebServices名称SoapObject request = new SoapObject(nameSpace, methodName);// 2.创建信封对象SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);envelope.dotNet = true; // .net 支持envelope.bodyOut = request; // 添加输出参数// 添加要传递的websercice的参数if (params != null && !params.isEmpty()) {for (Iterator<Entry<String, Object>> it = params.entrySet().iterator(); it.hasNext();) {Map.Entry<String, Object> e = it.next();request.addProperty(e.getKey(), e.getValue());}}// 3.创建运输机对象对象HttpTransportSE httpTransportSE = new HttpTransportSE( url , ACCESS_TIMEOUT );httpTransportSE.debug = true;Object object = null;try { List<HeaderProperty> headers = null;if ( sessionId != null ){headers = new ArrayList<HeaderProperty>();headers.add(new HeaderProperty("Cookie" , "ASP.NET_SessionId=" + sessionId));}
            // 4.开始请求WebServices 参数1为 Action地址 (命名空间 + WebServices名称) 参数2为 信封对象
            httpTransportSE.call(soapAction, envelope , headers);       // 5 .获得WebServices返回数据object = envelope.getResponse();} catch (Exception e) {e.printStackTrace();}Log.e(TAG, "###WebServices → result = " + object);return object;}public static void callWS( WSParams ps , WSCallBack callback){new Thread(new WSHelper(ps , callback)).start();}public static void callWSSingleThread( WSParams ps , WSCallBack callback){pool.execute(new WSHelper(ps , callback));}public static boolean checkNetAndCallWS(Context context, WSParams ps, WSCallBack callback){if ( NetUtil.checkNetwork(context)){new Thread(new WSHelper(ps , callback)).start();} else {Toast.makeText(context, R.string.wang_luo_bu_ke_yong, Toast.LENGTH_SHORT).show(); return false;}return true;}public static class WSParams {public WSParams(String nameSpace, String methodName, String url, Map<String, Object> params){this.nameSpace = nameSpace;this.methodName = methodName;this.url = url;this.params = params;}public String nameSpace;public String methodName;public String url;public Map<String, Object> params;}public interface WSCallBack{void callBack(Object obj);}@Overridepublic void run() {try {Object obj = callWebService(mPs.nameSpace , mPs.methodName , mPs.url , mPs.params);if ( mCallback != null )mCallback.callBack(obj);} catch (Exception e) {Log.e(TAG, "callback error!", e);}}public static String filterValue(Object value){String str = null;if ( value != null ){str = value.toString();if ( "".equals(str) || "anyType{}".equals( str ) )str = null ;}return str;}
}

 

转载于:https://www.cnblogs.com/PLifeCopyDown/p/3314557.html

http://www.lbrq.cn/news/1120735.html

相关文章:

  • 无锡专业做网站的公司/深圳网
  • 做网站的分辨率/如何进行网站性能优化
  • 玉溪做网站/网络科技公司骗了我36800
  • 惠州企业建站程序/seo课程培训班
  • wordpress编辑插件/seo门户网站
  • 一键优化为什么不能100/流程优化四个方法
  • 什么网站可以做公共基础知识/新闻20字摘抄大全
  • 谷歌seo网站建设/谷歌google搜索引擎入口
  • 郑州做网站公司排/全国疫情最新情况最新消息今天
  • 公司名字大全参考2023/石家庄百度seo排名
  • 摄影学习网站/800元做小程序网站
  • wordpress更改密码/seo系统培训
  • 中移建设有限公司官方网站/培训课程开发
  • 专业做旅游网站/免费发帖推广网站
  • 类似直播平台网站的建设费用/制作小程序的软件
  • 建设银行宁德分行网站/深圳网站关键词排名优化
  • 网站的后台系统怎么进入/宁德市医院
  • 我想做个网站怎么做 找谁做好/杭州seo排名优化
  • 互联网技术的发展/seo行业岗位
  • 个人网站做淘宝客商城/网站seo快速排名
  • 专做排版网站/深圳外贸网络推广渠道
  • 个人服务器搭建做网站/网络营销的主要推广方式
  • 做航空产品的网站有哪些/公司的seo是什么意思
  • 呼和浩特网站建设宣传/微信广告平台
  • 霞山网站开发公司/如何做市场推广方案
  • 怎么做网站dreamwave/新网站百度收录
  • 网上做网页网站任务赚钱/泰安网站建设优化
  • wordpress链接重建/网站seo 优化
  • 绍兴做网站选哪家/杭州百度竞价推广公司
  • wordpress 物流插件/东莞seo建站优化哪里好
  • Java 集合 示例
  • 15.图像 模板轮廓检测
  • 基于Ruoyi和PostgreSQL的统一POI分类后台管理实战
  • Kafka与Flink打造流式数据采集方案:以二手房信息为例
  • HTML应用指南:利用GET请求获取河南省胖东来超市门店位置信息
  • Java:继承和多态(必会知识点整理)