是webservice就概念上来说可能比较复杂不过我们可以有个宏观的了解webservice就是个对外的接口里面有 函数可供外部客户调用(注意里面同样有客户不可调用的函数)假若我们是服务端我们写好了个webservice然后把它给了客户(同时我们给了他们调用规则)客户就可以在从服务端获取信息时处于一个相对透明的状态即使客户不了解(也不需要)其过程他们只获取数据
webservice传递的数据只能是序列化的数据典型的就是xml数据
下面以一个简单例子为例
(一)新建——-项目-Visual C#webASPNET Web 服务应用程序命名为TestWebService
此时的目录结构如图所示
我们修改Serviceasmx的名字为MyServiceasmx
同时修改文件中的class名
public class MyService: SystemWebServicesWebService
{
[WebMethod]
public string HelloWorld()
{
return Hello World;
}
}
同时修改文件MyServiceasmx(右击查看标记如果在vs环境下双击打开的是cs文件)
<%@ WebService Language=C# CodeBehind=MyServiceasmxcs Class=TestWebServiceService %>改为
<%@ WebService Language=C# CodeBehind=MyServiceasmxcs Class=TestWebServiceMyService %>
(二)重新生成项目右击MyServiceasmx选择在浏览器中查看即可检查本项目是否有语法错误
(三)在MyServiceasmx添加指定方法
using System;
using SystemData;
using SystemWeb;
using SystemCollections;
using SystemWebServices;
using SystemWebServicesProtocols;
using SystemComponentModel;
namespace TestWebService
{
/// <summary>
/// Service 的摘要说明
/// </summary>
[WebService(Namespace = )]
[WebServiceBinding(ConformsTo = WsiProfilesBasicProfile_)]
[ToolboxItem(false)]
public class MyService: SystemWebServicesWebService
{
[WebMethod]//必须要有的为了说明其下是一个方法每一个方法前面都需要有
public string getName()
{
return Hope;
}
[WebMethod]
public string getAge()
{
return ;
}
}
}
重新生成项目右击MyServiceasmx选择在浏览器中查看效果如下
(四)发布在外网上
这里我是在本机上测试的所以没有必要发布如果要发布到外网上我们可以通过
把bin文件下的文件以及与bin(包括dll和pdb文件)同级目录的asmx文件上传到外网即可
(五)使用web service接口
新建一个普通的windows应用程序右击添加web引用
如图
改一下web引用名为HopeWebService如图
此时我们可以使用webservice中的方法了通过HopeWebService我们可以访问其中的两个方法
(六)使用方法
HopeWebServiceMyService obj = new HopeWebServiceMyService()
MessageBoxShow(name is: + objgetName()+;age is: + objgetAge())