当前位置:首页 » 网页前端 » vbnetwebservice
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

vbnetwebservice

发布时间: 2022-05-13 03:45:30

① .net 中如何在web中如何调用webservice

你的意思,是界面上有id,name等store和People的信息,按钮的click事件来存储吗?

若是这样,你webService中肯定有个实现保存的方法,并且这个方法接收相应参数,假如这个方法为SaveInfo(People p,Store s),你可以先准备调用webService方法需要传递的参数值,然后调用:

Peoplem=newPeople();
....//从界面文本框获取People值
stores=newStore();
s.id=从界面相应文本框获取;
s.Name=从界面相应文本框获取;
....
WebReference.WebService1serviceMethod=newWebReference.WebService1();
serviceMethod.SaveInfo(m,s);

备注:1.webservice的参考名称为:WebReference,类名称为:WebService1,要调用的方法名称为webService

2.若webservice与要调用的项目是跨平台的,可以将传输的参数序列化,在webService方法中对接收到的参数进行反序列化后再进行保存等处理

② 怎样创建.NET Web Service

C#学习到一定程度会涉及到C#创建WebService的一些高阶知识,本文试图对此做一个简单的介绍。

假设A是客户端,B是webservice服务端,用户通过http协议向服务器发送soap请求,webservice返回客户端Xml格式的数据。

现在我们看一看创建一个C#创建WebService的大致过程:

服务端的webservice是必须要建的。中间的soap,Xml我们不用去关心,在客户端这边,比较重要的是如何从webservice取得对象?答案是用的是proxy对象。客户端由代理对象(proxy)负责与webservice的通信。所以在客户端使用webservice,完全和使用一个本地对象是一样的。

我们现在以一个简单的C#创建WebService实例来说明。

打开vs.Net,新建工程(asp.Net web服务),在位置中键入http。//localhost/webserver,其中webserver就是工程的名字。确定后,出现一个Service1.asmx.cx,双击,出现代码窗口,

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace webserver { /// /// Service1 的摘要说明。 /// (1) public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN:该调用是 ASP.Net Web 服务设计器所必需的 InitializeComponent(); } #region Component Designer generated code //Web 服务设计器所必需的 private IContainer components = null; /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { } /// /// 清理所有正在使用的资源。 /// protected override void Dispose ( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // WEB 服务示例 // HelloWorld() 示例服务返回字符串 Hello World // 若要生成,请取消注释下列行,然后保存并生成项目 // 若要测试此 Web 服务,请按 F5 键 // [WebMethod] // public string HelloWorld() // { // return "Hello World"; // } } } 下面在(1)处加入

[WebService(Namespace="http。//localhost/webserver/")]

这是因为soap是基于http协议上的,客户端无法知道webservice位于那个服务器上。在实际应用中,比如http。//www。ourfly。com上放置这个webservice,则Namespace改为http。//www。ourfly。com/webserver.

下面我们给这个webservice添加一个方法。

// [WebMethod] // public string HelloWorld() // { // return "Hello World"; // } 微软帮我们写好了一个,接着添加一个方法。 方法名称叫show. [WebMethod] public string show(string yourname) { return “http。//www。ourfly。com”+”欢迎”+yourname; } 现在,就可以运行了,按F5,点击show,输入你的名字, 然后点击invote 看到了吧。 〈 ?Xml version="1.0" encoding="utf-8" ?〉 〈 string Xmlns="http。//tempuri。org/"〉 http。//www。ourfly。com欢迎g〈 /string〉 成功了。打开bin目录,Vs.Net已经将proxy做好了.webserver.dll.

现在我们在不同的环境下测试:

1.打开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

2. Asp.Net web窗口的测试

方法与上面的一模一样,添加引用,建立service1的实例 在此不在细说。

3.在VB中测试

这个就要相对来说复杂一些 ,首先在VB中建立一个”标准EXE”的工程。添加引用:Microsoft Soap Type library。

注意:如果没有安装Microsoft Soap Toolkit,是没有这个类型库的。

③ vb.net调用webservice和MVC模式,这两种编程方式有什么区别啊

当前,WebService是一个热门话题。但是,WebService究竟是什么?什么情况下应该用WebService?什么情况下不应该用WebService?是需要我们正确认识的。 实际上,WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于...

④ .net中WebService如何使用Session

新建web服务WebService.asmx的方法:
[WebMethod(EnableSession = true)]
public string Login(string name)
{
Context.Session["name"] = name;
return name;
}
[WebMethod(EnableSession = true)]
public string GetName()
{
if (Context.Session["name"] != null)
return Context.Session["name"].ToString();
else
return "";
}
3 添加asp.net页面SessionInWebservice.aspx

<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server"
Text="Login" OnClick="btnLogin_Click" />
</div>
<div>
<asp:Button ID="btnGetName" runat="server"
Text="GetName" OnClick="btnGetName_Click" />
<asp:Label ID="lblName" runat="server" Text="Label"></asp:Label>
</div>
</form>
SessionInWebservice.aspx.cs
protected void btnLogin_Click(object sender, EventArgs e)
{
WebService ws = new WebService();

ws.Login(txtName.Text);
}
protected void btnGetName_Click(object sender, EventArgs e)
{
WebService ws = new WebService();
lblName.Text = ws.GetName();
}

⑤ Visual2008开发 vb.net,我点击按钮怎么发送数据给我的webservice

添加服务引用,然后调用HelloWorld方法,将数据以参数的形式传递给 HelloWorld

⑥ .net中webservice是同步调用还是异步调用

WebService
其实异步调用WebService是不需要在WebService中做任何操作的,只是普通的WebService就可以了,下面是我写的一个简单的WebService返回SqlServer2000中NorthWind数据库中所有员工的信息
[WebMethod]
public DLL.EmployeesDataTable getEmployee()
{
DLL.EmployeesDataTable result = new DLL.EmployeesDataTable();
DLLTableAdapters.EmployeesTableAdapter eta = new WebServiceAsyn.DLLTableAdapters.EmployeesTableAdapter();
eta.FillEmployee(result);
return result;
} 这里我需要声明一下,返回的 DLL.EmployeesDataTable类型是我用DataSet生成的强类型,或者你可以认为他是DataTable。
如何在Asp.Net里引入WebService呢?首先右键单击解决方案资源管理器中的项目,然后选择添加Web引用(你也可以单击网站菜单选择添加Web引用),在弹出的对话框中填入WebService的地址,并填写Web引用名后点击添加引用按钮就可以了,这时我们就可以在代码视图中根据web引用名来对WebService进行调用了,下面是我的CS代码
//实体化WebService引用
private AsynWebService.Service1 asynSer;
//构造函数初始化WebService引用,并为异步调用WebService设置好了结果处理函数【方法名Completed】(先这么叫吧,我也不知道怎么叫)
public _Default()
{
asynSer = new AsynWebService.Service1();
asynSer.HelloWorldCompleted += new AsynWebService.(asynSer_HelloWorldCompleted);
asynSer.getEmployeeCompleted += new AsynWebService.(asynSer_getEmployeeCompleted);
}
protected void Button1_Click(object sender, EventArgs e)
{
//开始异步调用HelloWorld;
asynSer.HelloWorldAsync();
}

protected void asynSer_HelloWorldCompleted(object sender, AsynWebService.HelloWorldCompletedEventArgs e)
{
this.Label1.Text = e.Result.ToString();
}

protected void asynSer_getEmployeeCompleted(object sender, AsynWebService.getEmployeeCompletedEventArgs e)
{
this.GridView1.DataSource = e.Result;
this.GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
//开始异步调用getEmployee
asynSer.getEmployeeAsync();
} 到这里我们后台代码就写完了,但是我们还要在ASPX页面设置一个允许异步调用的属性 Async="true"这样就可以在这个页面里进行异步调用了!
同步调用的方法和异步调用的方法不一样,异步调用的方法是WebServic的方法名+Async()作为方法名,同步调用的方法就是WebService的方法名。
其实从原理上看不管是Ajax还是Asp.Net或者Flex它们的异步调用都是一样的,下面我们来和Ajax比较一下Ajax中的核心对象--XMLHttpRequest对象一个非常重要的属性就是onreadystatechange,下面是一个基于Ajax的简单的用户名的验证<script language="javascript" type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}

function requestStart()
{
if(document.getElementById("tbx1").value.length <= 4)
{
alert("用户名的长度要求大于4个字符!");
return false;
}
document.getElementById("sp1").innerText = "Loding";
var url = "default.aspx?userName=" + document.getElementById("tbx1").value;
createXMLHttpRequest();//创建XMLHttpRequest对象
xmlHttp.onreadystatechange = callBack;//为XMLHttpRequest对象指定结果处理函数
xmlHttp.open("GET",url);//打开链接
xmlHttp.send(null);//发送请求
}
//结果处理函数
function callBack()
{
if(xmlHttp.readyState == 4)
{
document.getElementById("sp1").innerText = xmlHttp.responseText;
}
}
</script>

⑦ VB.NET第一次调用WebService慢

webservice如果是java或者.net开发的, 在第一次调用的时候才会把虚拟机代码编译为真正可运行的机器码, 这过程是需要时间的. 所以第一次运行永远是很慢的, 编译好了驻留内存了性能就和直接用C++等语言编写的代码差不多了

⑧ 调用.net的webservice,传参怎么写

这就要看WebService参数都是那些类型了,就和你写的方法一样,例如Add(intnum1,intnum2)那么你使用这个方法的时候就要传递俩个整型参数num1,num2就行

⑨ webservice 问题,vb.net的

那就是你的对象的内容,有不符合规则的,你DEBUG一下
---------------------------------------------------
错误信息是什么?

你的pxyUpdateQnA.UpdateQuestions(pQuestionID, pUserID, pTitle, pDetails, status, pTblUserID)
里面的变量的数据类型,是否都是对的

⑩ vb.net如何动态调用WebService接口啊

调用webservice接口
一般分为静态调用和动态调用
静态调用就是在项目中直接添加服务引用或者web服务引用;
动态调用就是通过模拟http协议调用,这种网上很多提供动态调用服务的处理类,找找直接用就可以了;
静态调用特点:服务参数包含复杂类型(比如自定义的一些实体类)用它比较方便,但是服务如果改变(服务地址更新,服务内容更新)就需要在项目中更新服务引用,重新编译程序;
动态调用特点:对于服务参数包含复杂类型的处理不是很好,如果服务内容改变不需要重新编译程序;
大致想到就这样,详细的可以在网上找找相关的网文,很多资料可以参考的