memo:asp.netでxml返す(なんちゃってREST)
いろいろ迷ったけど書き出せばいいのだった。
SOAP的な何かは利用側がキモくなる瞬間があるので。
REST的な?RESTってなに?
1.VSでWEBサイト作成
機能でフォルダを作る
WebサイトRoot
|
----func
----func1
----func2
てなぐあいに。
2.各フォルダにaspxを配置
名前はDefault.aspxでOK。というかDIrectoryIndexに入ってるのが望ましい。
だってhttp://server/service/func/でアクセスできる。
3.Default.aspxの中身
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="func_Default"%>
デフォですね。
4.Default.aspx.csの中身
要らないusingてんこ盛り。
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml; using System.Text; public partial class func_Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //postとかの情報を元に //xml文字列作成すればいいじゃない! StringBuilder builder = new StringBuilder(); builder.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); builder.Append("<root>"); builder.Append("<elem>"); builder.Append("<li>スゴイ処理結果なxml的文書</li>"); builder.Append("</elem>"); builder.Append("</root>"); //xml出力 Response.ContentType = "text/xml"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(builder.ToString()); Response.End(); } }
でOK。
外からアクセスすると、RESTっぽく見えます。