webservice一片:其中在外线呼叫数据,查看返回数据

经Android数据被访问,返回的数据(json格公式,object数据类型:strJson)

业务需求:经webservice调用外部暴露数据并返回json数据序列化。阅读到数据库表:【SQ_Event】

TODO

解说webservice小程序应用

json序列化

解说webservice小程序应用

using HMFW.BLL.BaseInfo;
using HMFW.BLL.SQJS.ZJWG;
using HMFW.BLL.UserRoleManage;
using HMFW.Common;
using HMFW.Model;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.SessionState;

namespace HMFW.Web.WebServiceToAndroid
{
    /// <summary>
    /// Event 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要同意使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消凝视下面行。 
    // [System.Web.Script.Services.ScriptService]
    public class Event : System.Web.Services.WebService, IRequiresSessionState
    {
        private EventBLL iEventBll = new EventBLL();
        UsersBLL usersBll = new UsersBLL();
        sysAreaBLL sAreaBLL = new sysAreaBLL();
        /// <summary>
        /// 事件处理新增
        /// </summary>
        /// <param name="strJson"></param>
        /// <returns></returns>
        [WebMethod]
        public String AddEvent(string strJson)
        {
            string resultJson = string.Empty; //返回结果变量
            AndrewsResultList resultList = new AndrewsResultList();//返回结果类
            SQ_Event model = null;
            try
            {
                model = JsonHelper<SQ_Event>.JsonStringToModel(strJson);
                model.gID = Guid.NewGuid();
                //获取数据录入人真实名称的信息
                sys_Users sys_UsersModel = new sys_Users();
                sys_UsersModel.gUserID = new Guid(model.gCreateUserId.ToString());
                sys_Users sys_UsersR = usersBll.GetModel(sys_UsersModel);
                model.sCreateUserRealname = sys_UsersR.sRealName;
                //获取所在地区名称的信息
                sysArea sysAreamodel = new sysArea();
                sysAreamodel.sID = model.sVillageCode;
                sysArea sysAreaR = sAreaBLL.GetModel(sysAreamodel);
                model.sVillageName = sysAreaR.sName;
                model.iDeleteMark = 0;
                model.iHandleState = 0;
                model.iState = 0;
                model.dCreateDate = DateTime.Now;



                /*************二进制流数据转换成图片******************/
                Bitmap bitmap;
                string[] arraysPicPath = model.sPicPath.Split(',');
                //arraysPicPath = sPicPath.Split(',');//測试数据流数组
                int spicLength = arraysPicPath.Length;//測试数据流长度
                string sImgPath = "";
                if (spicLength >= 2)//加入了图片
                {
                    foreach (String item in arraysPicPath)
                    {
                        if (!string.IsNullOrEmpty(item))//处理最后一个为空
                        {
                            #region 二进制流数据 生成图片
                            //读取:二进制数据流图片生成图片
                            string base64Decode = item;
                            byte[] bt = Convert.FromBase64String(base64Decode);
                            System.IO.MemoryStream stream = new System.IO.MemoryStream(bt);
                            bitmap = new Bitmap(stream);//測试数据流数据生成图片 
                            #endregion
                            #region 二进制流数据图片 保存进server指定路径
                            //保存图片到指定路径下,採用原有保存格式。/upload/Android/20150107/c360f61b-8230-43d0-bae8-38d479cac802.JPG
                            string pathPrefix = "/upload/Android/";
                            string path = Path.Combine(pathPrefix,
                                                       DateTime.Now.ToString("yyyyMMdd") + "/" + Guid.NewGuid() + ".JPG");//合并2个路径字符串
                            sImgPath += path + ',';//SQ_Event中sImgPath字段採取:逗号隔开方式进行保存多张图片[最多5张图片]
                            string sbst;
                            try
                            {
                                sbst = HttpContext.Current.Server.MapPath(path);
                            }
                            catch
                            {
                                sbst = path;
                            }
                            FileInfo fileInfo = new FileInfo(sbst);
                            if (!fileInfo.Directory.Exists)
                                fileInfo.Directory.Create();
                            bitmap.Save(sbst);
                            #endregion
                        }
                    }
                }
                if (!string.IsNullOrEmpty(sImgPath))
                {
                    #region 第一时间中包括多张图片二进制数据流格式存储的图片以路径格式存储进server中
                    sImgPath = sImgPath.Substring(0, sImgPath.Length - 1);//去除最后一个逗号
                    model.sImgPath = sImgPath;//第一时间中包括多张图片二进制数据流格式存储的图片以路径格式存储进server中
                }
                #endregion
            }
            catch (Exception e)//假设解析出错,返回相关错误信息
            {
                resultList.sSuccess = "0";
                resultList.sMessage = "參数解析出错!

" + e.Message; resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList); return resultJson; } try { if (iEventBll.Add(model)) { resultList.sSuccess = "1"; resultList.sMessage = "运行成功!

"; resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);//对整个结果集进行序列化 return resultJson; } else { resultList.sSuccess = "0"; resultList.sMessage = "运行失败!"; resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);//对整个结果集进行序列化 return resultJson; } } catch (Exception e) { resultList.sSuccess = "0"; resultList.sMessage = "程序运行出错!

" + e.Message; resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList); return resultJson; } } } }


json序列化

model = JsonHelper<SQ_Event>.JsonStringToModel(strJson);

TODO

图片略,这主要是使用webservice调用外界数据的一个应用;

实际中。得来的数据都是已经保存入数据库中了。

没有什么图片可见。


版权声明:本文博主原创文章,博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/blfshiye/p/4875212.html