如何使用c#从asp.net中的页面发布Web服务 [英] How to post web service's from page in asp.net with c#
本文介绍了如何使用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屋!
查看全文