什么叫传到asmx文件中?asmx文件通常是WEBSERVICE的代码文件,真正用的是asmx里的CODEBEHIND文件(一个CS文件)。它们是WEB服务的开发阶段的载体,如果祥滑猜你的意思是调用WEB服务的话,那只需要在ASPX页面谨型中需要的地方引入WEB服务,然后调用里面定义的WEBMETHOD就可以了。
我的意思是值传到ASMX一点意义都没有,因为ASMX就是WEB服务,如果你把WEB服务发布了,在页面里是可以调用的。你所说的传值,顺序正好反了,不是要给WEB服务传值,而是在ASPX页面里要调用WEB服务。
正让戚如你在CS文件里定义了一个类,你会给这个类文件去传一个值么?不实例化类,不去调用它,值传给谁?
其实,不应该考虑该限制哪些,应该考虑该允许哪些。从这个角度考虑范围就少多了。网站允许上传无非是图片,FLASH,视频,压缩包,这些对于服务器来说都是无害的。至于里面是否嵌病毒,这个是没办法控制的,即使服务器装杀毒软件也有办法免杀。
一般来说就是做扩展名判断,但凯段是开发的时候必须要注意的是,上传后的文件必须纤搏必须改文件名称,否则容易被人用空字符(\0)截断从而上传可执行文件,例如构盯竖誉造"muma.aspx\0img.jpg"的文件包上传。虽然在ASP类程序中经常有这种问题,ASP.NET的没关心过,但还是需要当心点好。上传后的文件用DATETIME.Ticks之类的数字重命名一下更稳妥点。
}}
同时修改文件MyService.asmx(右野旁击--查看标记;如果在vs环境下双击打开的是.cs文件)
<%@ WebService Language="C#" CodeBehind="MyService.asmx.cs" Class="TestWebService.Service1" %>改为
<%@ WebService Language="C#" CodeBehind="MyService.asmx.cs" Class="TestWebService.MyService" %>
(二)重新生成项目,右击MyService.asmx,选择“在浏览器中查看”,即可检查本项目是否有语法错误
(三)在MyService.asmx添加指定方法
using System
using System.Data
using System.Web
using System.Collections
using System.Web.Services
using System.Web.Services.Protocols
using System.ComponentModel
namespace TestWebService
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class MyService: System.Web.Services.WebService
{
[WebMethod]//必须要有的,为了说明,其下是一个方法,每一个方法前面都需要有。
public string getName()
{
return "Hope"
}
[WebMethod]
public string getAge()
{
return "25"
}
}
}
重新生成项目,右击MyService.asmx,选择“在浏览器中查看”,效果如下:
(四)发布在外丛脊态网上
这里我是在本机上测试的,所以没有必要发布。如果要发布到外网上,我们可以通过:
把bin文件下的文件以及与bin(包括.dll和.pdb文件)同级目录的asmx文件上传到外网即可。
(五)使用web service接口。
新建一个普通的windows应用程序,右击,添加web引用----
如图:
改一下web引用渗源名为:HopeWebService如图:
此时,我们可以使用webservice中的方法了。通过HopeWebService我们可以访问其中的两个方法。
(六)使用方法:
HopeWebService.MyService obj = new HopeWebService.MyService()
MessageBox.Show("name is:" + obj.getName()+"age is:" + obj.getAge())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)