Web Service client端的应用程序应该怎么写?菜鸟求助各位高手

nsi20141 2003-05-30 09:01:15
下面的是WebService server查询服务提供端(测试已经通过)
用asp.net做的client端已经可以调用查询服务了,如果用应用程序调用查询服务的话,应该怎样去做呢? 请各位指教
<%@ WebService Language="C#" Class="chaxun" %>
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
public class chaxun:WebService{
//提供查询服务
[WebMethod]
//参数keyword为查询的关键字
public DataSet GetResult(String keyword){
// 连接到本地计算机的search数据库
SqlConnection cn=new SqlConnection("server=localhost;initial catalog=search;uid=sa;password=sa");
// 构造SQL语句,该语句用于查询企业信息
String strSQL="select * from Threads where Subject like @Subject and IsGood='1'";
//创建SqlDataAdapter对象
SqlDataAdapter myCommand = new SqlDataAdapter(strSQL,cn);
//在Parameters集合中添加@Subject参数,类型为SqlDbType.NVarChar,大小为40
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@Subject",SqlDbType.NVarChar,40));
//把keyword(接受WebService client端输入的查询关键字)赋给@Subject参数
//myCommand.Parameters["@Subject"].Value= "%" + Subject.Text + "%" ;
myCommand.SelectCommand.Parameters["@Subject"].Value=keyword;
DataSet ds = new DataSet();
myCommand.Fill(ds,"Threads");
return ds;
}

}

下面是asp.net 做的client端 用应用程序传递参数的语句应该怎么写啊?

<%@ Import Namespace="ChaXun" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language ="C#" runat ="server" >
String keyword;
//查询的触发函数
public void Search_Click(Object sender, EventArgs E)
{
try
{
keyword ="%" + Subject.Text + "%";
}
catch (Exception){}
//生成查询服务的类
chaxun d = new chaxun();
DataSet myDataSet = d.GetResult(keyword);

dgCust.DataSource=myDataSet.Tables["Threads"].DefaultView;
dgCust.DataBind();

}
</script>

<body style="font: 10pt verdana">
<form runat="server">
请输入关键字:
<asp:TextBox id="Subject" runat="server" />
<asp:RequiredFieldValidator id="RFV"
ControlTOValidate="Subject"
Display="dynamic" runat="server">不能为空
</asp:RequiredFieldValidator>
<asp:Button text="查询" OnClick="Search_Click" runat="server" />
<br><br>

<asp:DataGrid id="dgCust" runat="server"
Width="100%" BackColor="#ccccff"
BorderColor="black" ShowFooter="false"
CellPadding=3 CellSpacing="0"
Font-Name="Verdana" Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AutoGenerateColumns="false"
MaintainState="false">
<Columns>

<asp:HyperLinkColumn HeaderText="企业名称"
DataTextFormatString="{0}"
DataTextField="Subject"
DataNavigateUrlField="ThdId"
DataNavigateUrlFormatString="getthd.aspx?thdid={0}"
Target="_blank" />

<asp:BoundColumn HeaderText="联系人" DataField="Name" />
<asp:BoundColumn HeaderText="联系电话" DataField="Tel" />
<asp:BoundColumn HeaderText="公司地址" DataField="Address" />

</Columns>
</asp:DataGrid>

</form>
</body>
</html>
...全文
47 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nsi20141 2003-06-04
  • 打赏
  • 举报
回复
已经ok了
改成:localhost.WebService_chaxun d = new localhost.WebService_chaxun();
online 2003-06-03
  • 打赏
  • 举报
回复
WebService_chaxun d = new WebService_chaxun();
试试
nsi20141 2003-06-03
  • 打赏
  • 举报
回复
小弟现在很急,请各位高手指点
nsi20141 2003-06-03
  • 打赏
  • 举报
回复
我用ASP.NET Web 应用程序调用WebService查询服务,Client端代码有点问题,请各位高手看看

ASP.NET Web 应用程序的代码如下:调试时提示: 类型或命名空间名称“localhost”在类或命名空间“WebServiceClient_chaxun.WebForm1”中不存在(是否缺少程序集引用?)
是不是下边这条语句写的不对,那该怎么改呢?
WebForm1.localhost.WebService_chaxun d = new WebForm1.localhost.WebService_chaxun();


WebForm1.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace WebServiceClient_chaxun
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox Subject;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DataGrid dgCust;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

String keyword;
//查询的触发函数
public void Search_Click(Object sender, EventArgs E)
{
try
{
keyword ="%" + Subject.Text + "%";
}
catch (Exception){}
//生成查询服务的类

// WebForm1.localhost.DataBaseWebService Database = new WebForm1.localhost.DataBaseWebService();

WebService_chaxun.localhost.WebService_chaxun d = new WebService_chaxun.localhost.WebService_chaxun();

nsi20141 2003-06-02
  • 打赏
  • 举报
回复
楼上仁兄thank_you了.
online 2003-06-01
  • 打赏
  • 举报
回复
. 打开vs.net,新建”windows应用程序”工程,命名为Client,增加按钮,文本框。
现在要用到代理了,右键单击右边的reference(引用),选择”添加引用”,选择浏览,找到webserver目录下的bin目录下的webserver.dll
再加入一个system.web.webservices的引用,在列表中有。
在form1.cs里,加入
using System.Web.Services;
using webserver;

然后在
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
后面,插入
private webserver.service1 Client
建立一个service1的实例。双击按钮,代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
Client =new Service1();
string name;
name=Client.show("龙卷风.NET");
textBox1.Text=name;
}
按F5,运行工程,点击按钮,文本框中显示
http://www.ourfly.com欢迎龙卷风.NET
nsi20141 2003-05-30
  • 打赏
  • 举报
回复
我的意思是用C#写一个使用该Web Services的客户端Windows应用程序
该如何写呢?
online 2003-05-30
  • 打赏
  • 举报
回复
应用服务器也是一样的
zhongwen 2003-05-30
  • 打赏
  • 举报
回复
楼主问什么啊?说明白点2
zhongwen 2003-05-30
  • 打赏
  • 举报
回复
明白,明白你是想通过cs调用对巴
其实一样啊,添加个web引用,实例化该引用,然后就和asp。net里面的一摸一样了

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧