格式化.net Web服务(适用于.asmx解决方案)

时间:2012-04-15 18:07:30

标签: asp.net sql-server xml web-services asmx

我搜索了这个,但实际上我找不到.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>

2 个答案:

答案 0 :(得分: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包装器。

答案 1 :(得分:-1)

您可以将WCFBasicHttpBinding一起用于模拟.asmx网络服务。

你可以使用:

[WebMethod] 
public XmlDocument YourMethod() 
{  
} 

您可以查看以下链接:

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