回答
在 C# 中创建一个 NETMF 服务并从中生成 WSDL。
步骤
首先,使用 DPWS 安装 NEFMF。我们使用来自NETMF on Codeplex 的 NETMF 4.3 和 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 文件。万岁!