我们想要创建一个NETMF web service that lives on a device。
我们已阅读MSDN Implementing Web Services on Your Devices。它解释了Generating Service Model Code Using MfSvcUtil,它假设我们已经有了一个WSDL文件。
我们如何首先生成WSDL文件?
答案 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文件。万岁!