一、题目中问题的原因是没有开启远程访问。
在web.config中的<system.web></system.web>添加如下代码:
<webServices>
<protocols><add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
二、WebService支持的类型(以下为复制粘贴)
1、基础类型
也即标准基础类型,包括: String、Int32、Byte、Boolean、Int16、Int64、Single、Double、Decimal、DateTime(类似XML中的timeInstant)、 DateTime(类似XML中的date)、DateTime(类似XML中的time)以及XmlQualifiedName(类似XML中的QName)。
2、枚举类型 比如: "public enum color { red=1, blue=2 }"
3、基础类型数组,枚举类型数组,上述类型的数组,比如 string[] 和 int[]
4、类和结构 带有公用域或属性的类和结构,公用域和属性是串行结构的。
5、类(结构)数组 上述类型的数组
6、DataSet(数据集) ADO.NET DataSet类型,可看成是类或结构中的字段。
7、DataSet数组 上述类型的数组
8、XmlNode
XmlNode是XML文档片断的内存表示,就好像一个轻量级的XML文档对象模型。比如说,"" 就可以存储在一个XmlNode类型变量中。我们可以将XmlNodes作为参数传递,以SOAP兼容方式附加到传递给Web Services的XML文档上。返回值也是同样原理。XmlNode也可看成是类或结构中的字段。
9、XmlNode数组 上述类型的数组
===================================
在上述类型之外的都不可以使用
三、在CS文件中用(System.Web.)Context.Server.MapPath似乎不行,但在Service.asmx中可以。