首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

web service HelloWorldRequest 有关问题

2012-12-16 
web serviceHelloWorldRequest 问题我在本机中有个http://localhost/Service1.asmx服务,其中代码如下C# co

web service HelloWorldRequest 问题
我在本机中有个http://localhost/Service1.asmx服务,其中代码如下
C# code
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

namespace WebService1
{
    /// <summary>
    /// Service1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

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



我在另外一个网站添加服务引用,命名为name1.
随后我在cs文件中输入name1,提示却变成了
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody

WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient


而我引用别人的web service时,却不会有这几个:
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody
只有:
WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient

,不知道是如何设置的。

经过我的测试发现如果把
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
改成:
        [WebMethod]
        public bool HelloWorld()
        {
            return true;
        }
也就是改个类型就没有上面的情况了,不知道什么原因
[最优解释]
我在本机中有个http://localhost/Service1.asmx服务,其中代码如下
C# code
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

namespace WebService1
{
  /// <summary>
  /// Service1 的摘要说明
  /// </summary>
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  [ToolboxItem(false)]
  // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
  // [System.Web.Script.Services.ScriptService]
  public class Service1 : System.Web.Services.WebService


  {

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



我在另外一个网站添加服务引用,命名为name1.
随后我在cs文件中输入name1,提示却变成了
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody

WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient


而我引用别人的web service时,却不会有这几个:
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody
只有:
WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient

,不知道是如何设置的。

经过我的测试发现如果把
  [WebMethod]
  public string HelloWorld()
  {
  return "Hello World";
  }
改成:
  [WebMethod]
  public bool HelloWorld()
  {
  return true;
  }
[其他解释]
代码那么多,乱的很啊
[其他解释]
难道大家都没有遇到过这个问题,如果没有给我的hello world demo也可以邮箱:64049027 qq.com
[其他解释]
        [WebMethod]
        public void OnlyShow(DataTable dt)
        {
            //如果只是string,那么一个方法会多出四个类似这样的类:
            //HelloWorldRequest
            //HelloWorldRequestBody
            //HelloWorldResponse
            //HelloWorldResponseBody
            //如果有10个方法就会生成4*10个上面这样的情况,郁闷要死,
            //加了这个用到DataTable的方法就不会出现这些类了,研究很久才试出来
        }
[其他解释]
分给错了,没办法,反正没有我要的答案,自己解决了
[其他解释]
你添加Web 引用来调用,不要用服务引用,如果你要用服务引用请点高级里有个添加Web引用来调用~~~
webservice->添加web引用
WCF->添加服务引用
如:点Web引用 输入网址:http://webservice.xp81.com/ 
Winfrom 调用
com.xp81.webservice.AspxTools aa = new WindowsFormsApplication1.com.xp81.webservice.AspxTools();
MessageBox.Show(aa.getStrColor());
 
Webfrom 调用

com.xp81.webservice.AspxTools aa = new WebApplication1.com.xp81.webservice.AspxTools();
 Response.Write(aa.getStrColor());
[其他解释]
同样引用一个webservice asp.net和winform 显示的方法不一样

热点排行