【问题标题】:How to create Webservice with extension .aspx and how to use it?如何创建扩展名为 .aspx 的 Web 服务以及如何使用它?
【发布时间】:2013-10-25 16:25:13
【问题描述】:

我必须从以 .aspx 结尾的 Web 服务发送并获取响应。我使用了 HTTP post 方法。这是最好的方法吗?如何等待网络服务响应?要发送和获取响应,我使用以下代码。但我无法测试它,因为我没有网络服务。

WebRequest _request = WebRequest.Create("https://somewebsite.com/webservices/XMLInbound.aspx");
_request.Method = "POST";
XElement xele = new XElement("RAFeed");//Substitute here with XML File that is created with all the parameters
byte[] bytearray = Encoding.UTF8.GetBytes(xele.ToString());
_request.ContentType = "application/x-www-form-urlencoded";
_request.ContentLength = bytearray.Length;
_request.Timeout = 5000;// Here i wait for the response is the correct way ?
//Gets the request as a stream
Stream datastream = _request.GetRequestStream();
datastream.Write(bytearray, 0, bytearray.Length);
datastream.Close();

//Gets Response

WebResponse response = _request.GetResponse();
//// Display the status.
//Debug.WriteLine(((HttpWebResponse)response).StatusDescription);          

datastream = response.GetResponseStream();
StreamReader reader = new StreamReader(datastream);
string responseFromServer = reader.ReadToEnd();//Response is in this string            
reader.Close();
datastream.Close();
response.Close();

var Rdoc = new XmlDocument();
Rdoc.LoadXml(responseFromServer); 

【问题讨论】:

    标签: c# asp.net web-services webmethod pagemethods


    【解决方案1】:

    您不使用 .aspx 扩展名创建 Web 服务。您在 aspx 页面中创建静态 Web 方法。此类网络方法称为页面方法。它们是在您不想将 Web 方法公开为服务时创建的。

    如果这不是您想要的,请使用 Web 服务 - WCF 或 ASMX。

    页面方法示例:http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

    【讨论】:

    • 是的,我必须在 Windows 应用程序的 ASP.Net 页面中调用 webmethod 我尝试了 webrequest Post 方法,但它返回页面的完整 html。我怎么称呼它?
    • 有什么特别的原因,你用的是page方法,可以用asmx服务对吗?
    • 我正在处理一项任务,我必须通过以 .aspx 结尾的 Web 服务发送数据,所以我编写了上面的代码,但我没有任何东西可以测试它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2016-09-19
    • 2013-06-16
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    相关资源
    最近更新 更多