Asp.net 格式化的.net web服务(用于.asmx解决方案)
我已经搜索过了,但确实找不到Asp.net 格式化的.net web服务(用于.asmx解决方案),asp.net,sql-server,xml,web-services,asmx,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="30
.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>
我从您的帖子中得知,您正在使用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包装器。您可以使用
WCF
和BasicHttpBinding
来模拟.asmx
web服务
您可以使用:
[WebMethod]
public XmlDocument YourMethod()
{
}
您可以查看此链接:
谢谢!我正在一个新的WCF项目中尝试。是否可以使用XML Web服务进行创建?我是说“.asmx”?嗯,我认为.asmx服务总是将结果封装在SOAP中。如果您不介意的话,可以通过将返回时间设置为“string”或Linq“XElement”,随时返回XML。有关更多信息,请参阅此链接:再次非常感谢,这些也帮助了我。你说的“格式化”是什么意思?我的意思是看起来像上面的代码。@johnsa理解你是对的,这是一项传统技术,但我现在必须使用传统技术,所以他给出了我需要的解决方案。谢谢。@David:如果你需要ASMX解决方案,那么你应该在你的问题中这样说。我会删除否决票,但在问题被编辑之前我不能这样做。我建议你删除关于WCF的部分,因为OP已经声明他需要一个ASMX解决方案。@David:谢谢,但我的意思是Kerezo需要编辑他的答案,以便我扭转否决票。为什么我要编辑我的答案?有人喜欢使用传统技术。有人喜欢你这样的否决票是出于个人品味而不是科学品味