如何使用c#从asp.net中的页面发布Web服务 [英] How to post web service's from page in asp.net with c#

查看:120
本文介绍了如何使用c#从asp.net中的页面发布Web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 <%@     Page    语言  =  C#    AutoEventWireup   =  true    CodeFile   =  CallWSPage.aspx.cs   继承  =  CallWSPage   %>  

< !DOCTYPE html >

< html xmlns = http://www.w3.org/1999/xhtml >
< head runat = server >
< title > < / title >
< style >
blurprogressimage { width 100%; background-color black; moz-opacity 0.5; khtml-不透明度 .5; 不透明度 .5; filter < span class =code-keyword>: alpha(opacity = 50); z-index 120; 高度 100%; 位置 已修复; top 0; left < span class =code-keyword>: 0; }
progressimage { z-index 700; position fixed; top 200pt; left 500pt; padding 5px 5px 5px 5px; }

< / 风格 >
< / head >
< body >
< 表格 id = form1 < span class =code-attribute> runat = server >
< asp:ScriptManager ID = scm runat = server > < / asp:ScriptManager >
< asp:UpdatePanel ID = upWS runat = server >
< ContentTemplate >
< span class =code-keyword>< div >
< h2 > 调用WS < span class =code-keyword>< / h2 >
< br / >
< asp:按钮 runat = server ID = btnPost 文字 < span class =code-keyword> = 发布WS OnClick = btnPost_Click / >
< br / >
< asp: Literal I D = ltrMessage runat = server > < / asp:Literal >
< / div >
< / ContentTemplate >
< / asp :UpdatePanel >
< div >

< / div >

< asp:UpdateProgress ID = UpdateProgress1 runat = server DynamicLayout = true AssociatedUpdatePanelID = upWS >
< ProgressTemplate >
< div class = blurprogressimage >
< div class = progressimage >
< img src = images / process-img.gif / >
< / div >
< ; / div >
< / ProgressTemplate >
< / asp:UpdateProgress >
< / form >
< span class =code-keyword><
/ body >
< / html >







ASPX.CS页



 protected void btnPost_Click(object sender,EventArgs e)
{
试试
{
string result =;
列表< 字符串 > objWSList = new List < string > < /跨度>();
DateTime dtStartTime = System.DateTime.Now;
objWSList.Add(WS1);
objWSList.Add(WS2);
objWSList.Add(WS3);

for(int index = 0; index < objWSList.Count; index ++)

{

< span class =code-attribute>
< span class =code-attribute> var request = (HttpWebRequest)WebRequest.Create(string.Format( http://webserviceapp.com/ webservices / WS.asmx / {0}, objWSList [index]));

使用 (var response = request.GetResponse() as HttpWebResponse)

< span class =code-attribute> {

if (request.HaveResponse && response = null)

< span class =code-attribute> {

使用 (var 阅读器 = new StreamReader(response.GetResponseStream()))

< span class =code-attribute> {

< span class =code-attribute> result = reader.ReadToEnd();

} < span class =code-attribute>

< span class =code-attribute> ltrMessage.Text + = string.Fo rmat( < br / > {0}。 {1} - >>成功,索引+ 1,objWSList [索引]);
}
其他
ltrMessage.Text + = string.Format(< br / > {0}。{1} - >>问题, index + 1,objWSList [index]);
}
}
DateTime dtEndTime = System.DateTime.Now;
TimeSpan ts = dtEndTime.Subtract(dtStartTime);
ltrMessage.Text + = string.Format(< br / > < br / > < b > 执行那些WS的时间(时间格式为mm:ss:ms) - >> {0}:{1}:{2} &l t; / b > ,ts.Minutes.ToString(),ts。 Seconds.ToString(),ts.Milliseconds.ToString());

}
catch(exception ex)
{
ltrMessage.Text + = string.Format(< br / > 异常IS :::: {0},ex.Message) ;
// throw;
}
}

解决方案

  protected   void  btnPost_Click( object  sender,EventArgs e)
{
尝试
{
string result = ;
List< string> objWSList = new List< string>();
DateTime dtStartTime = System.DateTime.Now;
objWSList.Add( WS1);
objWSList.Add( WS2);
objWSList.Add( WS3);

for int index = 0 ; index < objWSList.Count; index ++)
{
var request =(HttpWebRequest)WebRequest.Create( string .Format( http://webserviceapp.com/webservices/WS.asmx/ {0},objWSList [index]));
使用 var response = request.GetResponse() as HttpWebResponse)
{
if (request.HaveResponse&& response!= null
{
使用 var reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
ltrMessage.Text + = string .Format( < br /> {0}。{1} - >>成功,索引+ 1 , objWSList [指数]);
}
else
ltrMessage.Text + = string .Format ( < br /> {0}。{1} - >>问题 ,index + 1 ,objWSList [index]);
}
}
DateTime dtEndTime = System.DateTime.Now;
TimeSpan ts = dtEndTime.Subtract(dtStartTime);
ltrMessage.Text + = string .Format( < br />< br />< b>执行这些WS的时间(时间格式为mm:ss:ms) - >> {0}:{1}:{2} < / b>,ts.Minutes.ToString(),ts.Seconds.ToString(),ts.Milliseconds.ToString());

}
catch (例外情况)
{
ltrMessage.Text + = string .Format( < br /> Exception IS ::: :{0},ex.Message);
// throw;
}
}


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CallWSPage.aspx.cs" Inherits="CallWSPage" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style>
        .blurprogressimage{width: 100%;background-color: black;moz-opacity: 0.5;khtml-opacity: .5;opacity: .5;filter: alpha(opacity=50);z-index: 120;height: 100%;position:fixed;top: 0;left: 0;}
        .progressimage{z-index: 700;position:fixed;top: 200pt;left: 500pt;padding: 5px 5px 5px 5px;}

    </style>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="scm" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="upWS" runat="server">
            <ContentTemplate>
                <div>
                    <h2>Call WS</h2>
                    <br />
                    <asp:Button runat="server" ID="btnPost" Text="Post WS" OnClick="btnPost_Click" />
                    <br />
                    <asp:Literal ID="ltrMessage" runat="server"></asp:Literal>
                </div>
            </ContentTemplate>
        </asp:UpdatePanel>
        <div>

        </div>

        <asp:UpdateProgress ID="UpdateProgress1" runat="server" DynamicLayout="true" AssociatedUpdatePanelID="upWS">
            <ProgressTemplate>
                <div class="blurprogressimage">
                    <div class="progressimage">
                        <img src="images/process-img.gif" />
                    </div>
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>
    </form>
</body>
</html>




ASPX.CS PAGE

protected void btnPost_Click(object sender, EventArgs e)
  {
      try
      {
          string result = "";
          List<string> objWSList = new List<string>();
          DateTime dtStartTime = System.DateTime.Now;
          objWSList.Add("WS1");
          objWSList.Add("WS2");
          objWSList.Add("WS3");

          for (int index = 0; index < objWSList.Count; index++)

          {

              var request = (HttpWebRequest)WebRequest.Create(string.Format("http://webserviceapp.com/webservices/WS.asmx/{0}", objWSList[index]));

              using (var response = request.GetResponse() as HttpWebResponse)

              {

                  if (request.HaveResponse && response != null)

                  {

                      using (var reader = new StreamReader(response.GetResponseStream()))

                      {

                          result = reader.ReadToEnd();

                      }

                      ltrMessage.Text += string.Format("<br/>{0}. {1} ->> Success", index + 1, objWSList[index]);
                  }
                  else
                      ltrMessage.Text += string.Format("<br/>{0}. {1} ->> Problem", index + 1, objWSList[index]);
              }
          }
          DateTime dtEndTime = System.DateTime.Now;
          TimeSpan ts = dtEndTime.Subtract(dtStartTime);
          ltrMessage.Text += string.Format("<br/><br/><b>Time Taken to Execute those WS (Time format is mm:ss:ms) ->> {0}:{1}:{2}</b>", ts.Minutes.ToString(), ts.Seconds.ToString(), ts.Milliseconds.ToString());

      }
      catch (Exception ex)
      {
          ltrMessage.Text += string.Format("<br/>Exception IS :::: {0}", ex.Message);
          //throw;
      }
  }

解决方案

protected void btnPost_Click(object sender, EventArgs e)
    {
        try
        {
            string result = "";
            List<string> objWSList = new List<string>();
            DateTime dtStartTime = System.DateTime.Now;
            objWSList.Add("WS1");
            objWSList.Add("WS2");
            objWSList.Add("WS3");

            for (int index = 0; index < objWSList.Count; index++)
            {
                var request = (HttpWebRequest)WebRequest.Create(string.Format("http://webserviceapp.com/webservices/WS.asmx/{0}", objWSList[index]));
                using (var response = request.GetResponse() as HttpWebResponse)
                {
                    if (request.HaveResponse && response != null)
                    {
                        using (var reader = new StreamReader(response.GetResponseStream()))
                        {
                            result = reader.ReadToEnd();
                        }
                        ltrMessage.Text += string.Format("<br/>{0}. {1} ->> Success", index + 1, objWSList[index]);
                    }
                    else
                        ltrMessage.Text += string.Format("<br/>{0}. {1} ->> Problem", index + 1, objWSList[index]);
                }
            }
            DateTime dtEndTime = System.DateTime.Now;
            TimeSpan ts = dtEndTime.Subtract(dtStartTime);
            ltrMessage.Text += string.Format("<br/><br/><b>Time Taken to Execute those WS (Time format is mm:ss:ms) ->> {0}:{1}:{2}</b>", ts.Minutes.ToString(), ts.Seconds.ToString(), ts.Milliseconds.ToString());

        }
        catch (Exception ex)
        {
            ltrMessage.Text += string.Format("<br/>Exception IS :::: {0}", ex.Message);
            //throw;
        }
    }


这篇关于如何使用c#从asp.net中的页面发布Web服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆