SQL Server 2008 R2的主数据服务(Master Data Services,简称MDS)可以调用应用程序接口API来创建Model,本文我们就介绍了这一创建的过程,需要说明的是首先需要启用MDS当中的Web Service服务,启动方法可以参考该文:如何启用Master Data Services的Web服务。接下来我们就开始介绍这一过程。
添加服务引用
在解决方案资源管理器窗口中,右键单击引用,单击添加服务引用;在地址,输入的 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,需要关闭浏览器或清理缓存。
关于使用SQL Server 2008 R2的主数据服务MDS调用API创建Model的过程就介绍到这里了,希望本次的介绍能够带给您一些收获吧!