Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建WCF的最佳方式”;“服务器端代码”;来自现有WSDL的服务_C#_Wcf_Wsdl - Fatal编程技术网

C# 创建WCF的最佳方式”;“服务器端代码”;来自现有WSDL的服务

C# 创建WCF的最佳方式”;“服务器端代码”;来自现有WSDL的服务,c#,wcf,wsdl,C#,Wcf,Wsdl,我有一个现有的wsdl和xsd文件。现在,我想基于现有的WSDL创建WCF“服务器端代码”服务。 我知道svcutil.exe生成主机(客户端)代码。我不想要客户端。请问有人能帮我吗?为此,您可以尝试使用/out:选项 在我的例子中还有一个,客户机将生成一个非常特定的wsdl文件,它与类定义所在的其他xsd文件一起提供给我。我只需要接口头的结构(System.SerializableAttribute,XmlTypeAttribute…),因为DataContract和DataMember未在w

我有一个现有的wsdl和xsd文件。现在,我想基于现有的WSDL创建WCF“服务器端代码”服务。 我知道svcutil.exe生成主机(客户端)代码。我不想要客户端。请问有人能帮我吗?

为此,您可以尝试使用/out:选项


在我的例子中还有一个

,客户机将生成一个非常特定的wsdl文件,它与类定义所在的其他xsd文件一起提供给我。我只需要接口头的结构(System.SerializableAttribute,XmlTypeAttribute…),因为DataContract和DataMember未在wsdl文件中给出结果。 当我使用svcutil时,我只对wsdl文件进行了一点调整,但不同之处仍然是绑定、端口名。还有像“intf”而不是“tns”这样的前缀
xsd/c/l:cs/n:Namespace.You.Want FilenameRequest.xsd FilenameResponse.xsd

使用商定的XML契约生成c#类。您将有类似于
ResponseClass.cs
RequestClass.cs

然后创建服务,将生成的请求类作为消息参数传递。强制服务使用XmlSerializer而不是DataContractSerializer。大概是这样的:

[ServiceContract, XmlSerializerFormat(Style = OperationFormatStyle.Document, 
    Use = OperationFormatUse.Literal)]
public interface IService
{
    [OperationContract()]
    ResponseClass YourRequestOperation(
        [MessageParameter(Name="NameInAgreedContract")] RequestClass rq);
}

然后创建接口的实现。部署它。利润。

WSDL是一种XML格式,用于将网络服务描述为一组端点,在包含面向文档或面向过程信息的消息上运行。它不会包含服务器端代码。如果您需要服务器端代码,则需要在DLL上使用反汇编程序。您需要在WCF服务库上使用反汇编程序。反射镜:;ILSpy;DotPeek当我使用svcutil时,我只对wsdl文件进行了一点调整,但在绑定、端口名和其他方面仍然存在差异。还有前缀“intf”而不是“tns”等。