电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

插件案例 —— 快速部署的服务接口

来源:金蝶云社区作者:金蝶2024-09-163

插件案例 —— 快速部署的服务接口


案例背景


有的时候,我们的业务插件里面需要于服务端进行交互,包装接口之类的。简单点自用的时候,我们可以调用通版已经封装好的服务,DbServiceHelper、MetaDataServiceHelper之类的,直接取数、取元数据。那么我们自己要如何布置一套RPC服务呢?



案例说明



示例代码

App.Core

namespace XXX.K3.App.Core
{
    [Kingdee.BOS.Util.HotUpdate]
    public class XXXService : IXXXService
    {
        public void UpdateSaleOrder(Context ctx, List<int> entryIds)
        {
            string sbSql = "";
            DBUtils.Execute(ctx, sbSql, param);
        }
    }
}


Contract

IXXXService

using Kingdee.BOS;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Rpc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
namespace XXX.K3.Contracts
{
    [RpcServiceError]
    [ServiceContract]
    public interface IXXXService
    {
        void UpdateSaleOrder(Context ctx, List<int> entryIds);
    }
}

ServiceFactory

namespace XXX.K3.Contracts
{
    public class ServiceFactory
    {
        public static ServicesContainer _mapServer = new ServicesContainer();
        static bool noRegistered = true;
        static ServiceFactory()
        {
            RegisterService();
        }
        /// <summary>
        /// 获及服务实例
        /// </summary>
        /// <typeparam name="T">服务接口类型</typeparam>
        /// <param name="ctx">上下文</param>
        /// <returns>服务实例</returns>
        public static T GetService<T>(Context ctx)
        {
            return GetService<T>(ctx, ctx.ServerUrl);
        }
        static T GetService<T>(Context ctx, string url)
        {
            if (ctx == null)
            {
                throw new Exception("{ctx == null}");
            }
            if (noRegistered)
            {
                RegisterService();
            }
            var instance = _mapServer.GetServ

插件案例 —— 快速部署的服务接口

案例背景有的时候,我们的业务插件里面需要于服务端进行交互,包装接口之类的。简单点自用的时候,我们可以调用通版已经封装好的服务,DbSe...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信