A、通过命名空间和类名直接调用
示例:
WebService ws = new WebService()
string s = ws.HelloWorld()
B、通过添加WEB引用的方式调用,首先添加WEB引用,通过URL指向WEBSERVICE,
指定WEB引用名,假设为KK
示例:
kk.WebService n = new kk.WebService()
string ss=n.HelloWorld()
二、WebService在前台页面的JS 调用方法
1、首先通过下面的方法把Webservice在前台引用进来
<asp:ScriptManager runat="server">
<Services>
<asp:ServiceReference Path="WebService.asmx" InlineScript="True" />
</Services>
</asp:ScriptManager>
2、然后就可以通过JS程序进行调用,示例如下:
<script type="text/jscript">
function a()
{
WebService.HelloWorld(onresult)
}
//这里的onresult是回调函数
function onresult(result)
{
alert(result)
}
function b()
{
WebService.add(1,2,onreturn)
}
function onreturn(result)
{
alert(result)
}
//下面的'context'是上下文,可以通过回到函数通过重载的方式获得;
function c()
{
WebService.div(1,1,onresultC,onerror,'context')
}
function onresultC(res,c)
{
alert(res)
alert(c)
}
//onerror是获得异常信息的回调函数,下面给出了获得异常信息的方法
function onerror(error)
{
var a=""
a=String.format("获取服务器端异常的具体类型:{0}\t\n获取详细的异常描述信息:{1}\t\n获取造成异常的:{2}\t\n获取服务器端异常的堆栈
跟踪信息:{3}\t\n获取一个布尔值,表示异常是否是由于网络连接超时造成的{4}",
error.get_exceptionType(),
error.get_message(),
error.get_statusCode(),
error.get_stackTrace(),
error.get_timedOut())
alert(a)
}
a()
b()
c()
</script>
C#使用webservice把文件上传到服务器的代码如下(这里以C:\\zhidao.jpg这个文件上传为例):
WebService部分:
/// <summary>/// 保存文件到远程服务器
/// </summary>
/// <param name="FileByteArray">待转换字节数组</param>
/// <param name="FileLength">字节长度</param>
/// <param name="SaveToUrl">保存路径</param>
/// <returns>返回是否执行成功</returns>
[WebMethod(Description = "保存文件到远程服务器.")]
public bool SaveFile(byte[] FileByteArray,int FileLength, string SaveToUrl)
{
try
{
FileStream fs = new FileStream(SaveToUrl, FileMode.OpenOrCreate, FileAccess.Write)
fs.Write(FileByteArray, 0, FileLength)
fs.Close()
}
catch {
return false
}
return true
}
上传文件调用部分:
protected void Button1_Click(object sender, EventArgs e){
MangerPhoto.Service mp = new MangerPhoto.Service()
Response.Write(mp.SaveFile(getByte(), FileUpload1.PostedFile.ContentLength, "C:\\zhidao.jpg"))
} private byte[] getByte() {//获得转化后的字节数组
//得到用户要上传的文件名
string strFilePathName = FileUpload1.PostedFile.FileName
string strFileName = Path.GetFileName(strFilePathName)
int FileLength = FileUpload1.PostedFile.ContentLength
//上传文件
Byte[] FileByteArray = new Byte[FileLength] //图象文件临时储存Byte数组
Stream StreamObject = FileUpload1.PostedFile.InputStream //建立数据流对像
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObject.Read(FileByteArray, 0, FileLength)
return FileByteArray
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)