1

我已经搜索过了,但实际上我找不到.asmx解决方案的确切答案。如何创建格式如下所示的 .Net Web 服务?它还将与数据库连接。

<Books>
    <Book BookID="1" BookName="BookName1" Page="100"/>
    <Book BookID="2" BookName="BookName1" Page="200"/>
    <Book BookID="3" BookName="BookName1" Page="300"/>
</Books>
4

2 回答 2

0

我从您的帖子中得知您正在使用 WCF。(我建议切换到 MVC 或“Web API”,因为这会使这种事情变得容易得多。)不过,使用 WCF,您可以在操作合同中将主体样式设置为“裸”:

[OperationContract]
[WebGet(ResponseFormat=WebMessageFormat.Xml, BodyStyle=WebMessageBodyStyle.Bare)]
Books GetBooks();

我想你已经有这样的实体设置:

[DataContract]
public class Book
{
    [DataMember]
    public int BookID { get; set; }
    [DataMember]
    public String BookName { get; set; }
    [DataMember]
    public int Page { get; set; }
}

使用该契约应该会导致服务按照您在数据契约中定义的指定返回 XML,而无需使用 soap 包装器。

于 2012-04-15T18:45:27.367 回答
-1

您可以使用WCFwithBasicHttpBinding来模拟.asmxWeb 服务。

您可以使用 :

[WebMethod] 
public XmlDocument YourMethod() 
{  
} 

你可以看看这个链接:

http://blogs.msdn.com/b/mpowell/archive/2004/05/12/130637.aspx

于 2012-04-15T20:00:30.923 回答