创建一个NETMF服务并为其生成WSDL文件

时间:2016-01-31 02:48:50

标签: c# web-services wsdl .net-micro-framework

我们想要创建一个NETMF web service that lives on a device

我们已阅读MSDN Implementing Web Services on Your Devices。它解释了Generating Service Model Code Using MfSvcUtil,它假设我们已经有了一个WSDL文件。

我们如何首先生成WSDL文件?

1 个答案:

答案 0 :(得分:0)

答案

在C#中创建一个NETMF服务并从中生成WSDL。

的步骤

首先,使用DPWS安装NEFMF。我们使用NETMF 4.3和NETMF on Codeplex的DPWS。这可能也适用于NETMF 4.4 or later from GitHub

其次,将C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Tools添加到您的PATH中。这是访问MFSvcUtil

的便捷方式

第三,使用服务创建一个新的NETMF项目。这是一个非常简单的问题。您需要引用MFWsStack.dll,因为它包含Ws.ServiceModel命名空间。

using Ws.ServiceModel;

namespace FooService
{
    [ServiceContract]
    public interface FooService
    {
        [OperationContract]
        void Start();
    }
}

第四,建立项目。

第五步,运行以下命令(在PowerShell中)来创建WSDL文件。

> $projectRoot = "C:\FooService\";

> $svcAssembly = ".\bin\Debug\FooService.dll";

> $library = "C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le";

> $destinationDir = ".\temp";

> $destinationFile = "FooService.wsdl";

> cd $projectRoot;

> New-Item -type dir $destinationDir;

> mfsvcutil $svcAssembly /R:$library /D:$destinationDir /O:$destinationFile

      ServiceContract = FooService
      Operation Name = Start
Writing FooService Service Description to: .\temp\FooService.wsdl
Processing complete.

在上面的脚本中,library是包含MFWsStack.dll的目录,这是我们项目唯一的外部参考。该脚本在C:\FooService\temp\FooService.wsdl中创建WSDL文件。万岁!