zl程序教程

您现在的位置是:首页 >  其他

当前栏目

如何Master Data Service调用API创建Model

2023-03-31 11:09:05 时间

概述

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

添加服务引用

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

通过API创建模型

  1. private static ServiceClient mdsProxy;   
  2.         protected void Page_Load(object sender, EventArgs e)   
  3.         {   
  4.             try   
  5.             {   
  6.                 mdsProxy = CreateMdsProxy("http://devserver:8080/Service/Service.svc");   
  7.             }   
  8.             catch (Exception ex)   
  9.             {   
  10.                 Response.Redirect("Error connecting:" + ex.Message);   
  11.             }   
  12.         }   
  13.    
  14.         private static ServiceClient CreateMdsProxy(string mdsURL)   
  15.         {   
  16.             System.ServiceModel.EndpointAddress endptAddress = new System.ServiceModel.EndpointAddress(mdsURL);   
  17.             System.ServiceModel.WSHttpBinding wsBinding = new System.ServiceModel.WSHttpBinding();   
  18.             return new ServiceClient(wsBinding, endptAddress);   
  19.         }   
  20.    
  21.         private void CreateModel(string newModelName)   
  22.         {   
  23.             MetadataCreateRequest request = new MetadataCreateRequest();   
  24.             MetadataCreateResponse response = new MetadataCreateResponse();   
  25.    
  26.             request.Metadata = new Metadata();   
  27.             request.Metadata.Models = new System.Collections.ObjectModel.Collection<Model>() { new Model() };   
  28.             request.Metadata.Models[0].Identifier = new Identifier();   
  29.             request.Metadata.Models[0].Identifier.Name = newModelName;   
  30.    
  31.             response = mdsProxy.MetadataCreate(request);   
  32.         }   
  33.    
  34.         protected void btnCreateModel_Click(object sender, EventArgs e)   
  35.         {   
  36.             CreateModel("TestModel");   
  37.         }   
  38.     }   

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

原文链接:http://blog.csdn.net/xuyue1987/article/details/6642449