| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:[讨论]何调用远程类-->yms123转移
只看楼主 加入收藏
atang0241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-21
收藏
 问题点数:0 回复次数:5 
[讨论]何调用远程类-->yms123转移

1.先建一个asp.ne webt服务,里面有最基本的helloworld()
2.建立一个aps网站 ,新建一个htm文件,里面要调用web服务的helloworld()方法。
但是怎么样才能调用这个远程类呢?(虽然都是在一台机子上)
附代码:
1.web服务端
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public string HelloWorld() {
return "Hello World";
}

}

2.客户端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>It's my first program of call server</title>

<script type = "text/javascript" >
var xmlHttp;

function createXMLHttpRequest(){
if(window.ActiveXObject){
//alert("ActiveXObject");
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
//alert("window.XMLHttpRequest");
xmlHttp = new XMLHttpRequest();
}
}

function doStart(){
createXMLHttpRequest();
var url = "http://202...87:1357/server.asmx";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback();
xmlHttp.send(null);
}

function callback(){
if(xmlHttp == 4){
alert("hi!");
if(xmlHttp == 200){
alert("200");
var string1 = Service.HelloWorld();
window.alert(string1);
}
}
}
</script>
</head>
<body>
<form >
<input type = "button" id = "myButton" value = "callButton" onclick = "doStart();" />
</form>

</body>
</html>

3。错误如下
对象不支持此属性或方法

2006-07-30 10:22
atang0241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-21
收藏
得分:0 

有谁知道的就冒个泡。谢谢了

2006-07-30 10:24
atang0241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-21
收藏
得分:0 

是不是我的url赋值错误,还是调用远程类的时候发生了错误?

2006-07-30 10:54
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

这个目前不太清楚,反正本人所知,Web服务wsdl在.NET里可以把远程服务编译为相应的类进行调用,而且这个最好发在ASP.NET论坛。

2006-07-30 15:00
atang0241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-21
收藏
得分:0 

一位兄弟说:客户端只是传递一个参数到服务器,然后服务器将解析过的数据传到客户端。
照这样的说法,就是说客户端不能执行服务器端的类,数据在服务器端执行。

然后我照他的思想,编了一下下,还是不行。
真是快晕死了。哭啊。

2006-07-30 15:55
atang0241
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-21
收藏
得分:0 
刚刚修改的客户端。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>It's my first program of call server</title>

<script type = "text/javascript" >
var xmlHttp;

function createXMLHttpRequest(){
if(window.ActiveXObject){
//alert("ActiveXObject");
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
//alert("window.XMLHttpRequest");
xmlHttp = new XMLHttpRequest();
}
}

function doStart(){
createXMLHttpRequest();
var url = "http://...(IP):1357/server.asmx";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback();
xmlHttp.send(null);
}

function callback(){
if(xmlHttp.readyState == 4){
//alert("hi!");
if(xmlHttp.status == 200){
//alert("200");
//var string1 = Service.HelloWorld();
//window.alert(string1);
document.getElementById("results") = xmlHttp.responseText;
window.alert(results);
}
}
}
</script>
</head>
<body>
<form >
<input type = "button" id = "myButton" value = "callButton" onclick = "doStart();" />
</form>
<div id = "results"></div>
</body>
</html>
2006-07-30 15:59
快速回复:[讨论]何调用远程类-->yms123转移
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029863 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved