-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

彼らが私に投稿したように、私は投稿することによって価値を返しますか?

いいえ。応答を送信する必要があります。

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

あなたがしなければならないのはあなたの行動から適切な行動結果を返すことです。例:ContentResult単純な文字列をJsonResult返したり、jsonなどを返したりするために使用できます。

于 2012-11-29T16:59:20.063 に答える
0

整数、文字列、true / falseなどの単純な型のみを返す必要がある場合は、次を使用するだけで十分です。

Response.Write(returnVal);

または類似。これは必ずしも「正しい」方法ではありません。オブジェクトなどの複合型を返す必要がある場合は、シリアル化してjsonまたはXMLとして返すのが最適な場合があります。空白のaspxページの出力タイプとしてxmlを使用する例を次に示します。

我ら

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

質問にタグ asp.net-mvc-3 が含まれているので、コントローラーにいると思います。単純な文字列を返したい場合は、次のContentメソッドを使用してください。

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