-1

我正在与一家将数据发布到我的服务器的公司合作,并且我正在以这种方式接收 xml 数据:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    String xmlData = reader.ReadToEnd();
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlData);
}

但现在他们需要我向他们返回一个值。

我是否像他们发给我的那样发回一个值?或者当我想为他们的帖子返回一个值时它是如何工作的?

应该返回的值是一个字符串。

用c#构建的项目

4

4 回答 4

2

要将任何类型的字符串返回给您的供应商,请尝试以下操作:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    String xmlData = reader.ReadToEnd();
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlData);
    Response.Write("MyString");
}

根据需要在“MyString”中指定任何内容。

于 2012-11-29T16:48:03.290 回答
0

您在问题中包含了标签 asp.net-mvc-3,所以我猜您在控制器中。如果你想返回一个简单的字符串,只需使用以下Content方法:

public ActionResult MyAction() {
    return Content("Your String")
}
于 2012-11-29T16:51:12.517 回答
0

如果只需要返回一个简单的类型,例如整数、字符串或真/假,那么简单地使用就足够了:

Response.Write(returnVal);

或类似的。这不一定是“正确”的方法,如果您需要返回一个复杂的类型,例如一个对象,那么您最好将它序列化并以 json 或 XML 的形式返回。这是一个使用 xml 作为空白 aspx 页面上的输出类型的示例:

我们

using System;

namespace myProject
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var o=new customObject
                {
                    prop1 = "Value1", 
                    prop2 = "Value2", 
                    prop3 = "Value3"
                };
            var x = new System.Xml.Serialization.XmlSerializer(o.GetType());
            Response.ContentType = "text/xml";
            x.Serialize(Response.Output, o);
        }
    }

    public class customObject
    {
        public string prop1;
        public string prop2;
        public string prop3;
    }
}

希望一切都说得通。

于 2012-11-29T16:56:46.410 回答
0

我是否像他们发给我的那样发回一个值?

不,您必须发送回复。

Or how does it work when i want to return a value for their post?

您所要做的就是从您的操作中返回正确的操作结果。例如。您可以使用ContentResult返回一个简单的字符串并JsonResult返回 json 等。

于 2012-11-29T16:59:20.063 回答