• Master Data Service调用API创建Model


    概述

    这里我们首先需要启用MDS当中的Web Service服务,启动方法见《启用Master Data Services的Web Service》

    添加服务引用

    • 解决方案资源管理器窗口中,右键单击引用,单击添加服务引用
    • 在地址,输入的 URL 的 MDS 服务将"http:// <ServerName> / <MdsSiteName> / service/service.svc"。如果 MDS 位于的计算机上执行此操作,可以使用"localhost"作为服务器名称;
    • 单击继续。Visual Studio 会尝试获取服务并检索 WSDL;
    • 如果成功,将看到服务IService在服务框中;
    • 该服务的Namespace框中指定命名空间。在此示例中,我将其命名为MDService
    • 单击高级按钮,可以配置高级的设置;
    • 勾选Always generate message contracts(不确定中文版翻译成什么);
    • 设置集合类型下拉到System.Collections.ObjectModel.Collection
    • 单击确定返回到添加服务引用对话框;

    通过API创建模型

    private static ServiceClient mdsProxy;
            protected void Page_Load(object sender, EventArgs e)
            {
                try
                {
                    mdsProxy = CreateMdsProxy("http://devserver:8080/Service/Service.svc");
                }
                catch (Exception ex)
                {
                    Response.Redirect("Error connecting:" + ex.Message);
                }
            }
    
            private static ServiceClient CreateMdsProxy(string mdsURL)
            {
                System.ServiceModel.EndpointAddress endptAddress = new System.ServiceModel.EndpointAddress(mdsURL);
                System.ServiceModel.WSHttpBinding wsBinding = new System.ServiceModel.WSHttpBinding();
                return new ServiceClient(wsBinding, endptAddress);
            }
    
            private void CreateModel(string newModelName)
            {
                MetadataCreateRequest request = new MetadataCreateRequest();
                MetadataCreateResponse response = new MetadataCreateResponse();
    
                request.Metadata = new Metadata();
                request.Metadata.Models = new System.Collections.ObjectModel.Collection<Model>() { new Model() };
                request.Metadata.Models[0].Identifier = new Identifier();
                request.Metadata.Models[0].Identifier.Name = newModelName;
    
                response = mdsProxy.MetadataCreate(request);
            }
    
            protected void btnCreateModel_Click(object sender, EventArgs e)
            {
                CreateModel("TestModel");
            }
        }

    注意:MDS的站点有缓存机制,如果你之前已经打开了该站点,则刷新之后不会看到新添加的那个Model,需要关闭浏览器或清理缓存。



  • 相关阅读:
    codis安装手册
    引用对象的使用和易产生bug的示例
    shallow copy 和 deep copy 的示例
    [转载] 公知其实就是正常人嘛
    Spring GET请求实体中日期的转换
    [转载] 方方: 借陸遊三個字:錯,錯,錯(3月16日)
    [转载] 英国防疫怪招
    [记录] Disruptor 介绍
    [记录] 重要网址备忘
    [转载] 面对新冠病毒在全球的大流行,我们如何自保?
  • 原文地址:https://www.cnblogs.com/hainange/p/6153589.html
Copyright © 2020-2023  润新知