none
问一个比较简单的问题 RRS feed

  • 问题

  • 我写了一个WebService里面包含一个方法,请看代码
            [WebMethod]
            /// <summary>
            /// 创建Request请求
            /// </summary>
            /// <param name="content">请求内容</param>
            private string CreatePost(string content)
            {
                HttpWebRequest Request = WebRequest.Create(urls) as HttpWebRequest;
                Request.Method = "POST";
                using (Stream str = Request.GetRequestStream())
                {
                    byte[] buff = Encoding.ASCII.GetBytes(content);
                    str.Write(buff, 0, buff.Length);
                }
                HttpWebResponse Response = Request.GetResponse() as HttpWebResponse;
                StreamReader sw = new StreamReader(Response.GetResponseStream(), Encoding.ASCII);
                return sw.ReadToEnd();
            }
    我的同事添加Web引用后调用CreatePost方法没有方法提示,
    也就是没有 方法说明:创建Request 请求 和参数说明:请求内容
    2009年11月5日 10:07

答案

  •   这样写
    [WebMethod(Description = "创建Request请求")]
    public string CreatePost(string content)
            {
                HttpWebRequest Request = WebRequest.Create(urls) as HttpWebRequest;
                Request.Method = "POST";
                using (Stream str = Request.GetRequestStream())
                {
                    byte[] buff = Encoding.ASCII.GetBytes(content);
                    str.Write(buff, 0, buff.Length);
                }
                HttpWebResponse Response = Request.GetResponse() as HttpWebResponse;
                StreamReader sw = new StreamReader(Response.GetResponseStream(), Encoding.ASCII);
                return sw.ReadToEnd();
            }

    努力+方法=成功
    • 已编辑 开心 2009年11月6日 2:03
    • 已标记为答案 小风来君 2009年11月7日 17:13
    2009年11月5日 10:13

全部回复

  •   这样写
    [WebMethod(Description = "创建Request请求")]
    public string CreatePost(string content)
            {
                HttpWebRequest Request = WebRequest.Create(urls) as HttpWebRequest;
                Request.Method = "POST";
                using (Stream str = Request.GetRequestStream())
                {
                    byte[] buff = Encoding.ASCII.GetBytes(content);
                    str.Write(buff, 0, buff.Length);
                }
                HttpWebResponse Response = Request.GetResponse() as HttpWebResponse;
                StreamReader sw = new StreamReader(Response.GetResponseStream(), Encoding.ASCII);
                return sw.ReadToEnd();
            }

    努力+方法=成功
    • 已编辑 开心 2009年11月6日 2:03
    • 已标记为答案 小风来君 2009年11月7日 17:13
    2009年11月5日 10:13

  •         /// <summary>
            /// 创建Request请求
            /// </summary>
            /// <param name="content">请求内容</param>
                 [WebMethod]  
      public string CreatePost(string content)
            {
                HttpWebRequest Request = WebRequest.Create(urls) as HttpWebRequest;
                Request.Method = "POST";
                using (Stream str = Request.GetRequestStream())
                {
                    byte[] buff = Encoding.ASCII.GetBytes(content);
                    str.Write(buff, 0, buff.Length);
                }
                HttpWebResponse Response = Request.GetResponse() as HttpWebResponse;
                StreamReader sw = new StreamReader(Response.GetResponseStream(), Encoding.ASCII);
             
    2009年11月5日 10:20
  • 注释放在[WebMethod]上面的话这个方法就不是WebService的方法了
    2009年11月5日 10:52
  • 那参数呢,不能有这样的注释么?
    /// <summary>
    /// 创建Request请求
    /// </summary>
    /// <param name="content">请求内容</param>

    2009年11月5日 10:53
  • 那参数呢,不能有这样的注释么?
    /// <summary>
    /// 创建Request请求
    /// </summary>
    /// <param name="content">请求内容</param>


    可以啊 主要问题是你的方法设为私有方法  注意是公用方法才能显示调用的
    注译方面
      [WebMethod]   
      /// <summary>
            /// 创建Request请求
            /// </summary>
            /// <param name="content">请求内容</param>    
      public string CreatePost(string content)
            {
                HttpWebRequest Request = WebRequest.Create(urls) as HttpWebRequest;
                Request.Method = "POST";
                using (Stream str = Request.GetRequestStream())
                {
                    byte[] buff = Encoding.ASCII.GetBytes(content);
                    str.Write(buff, 0, buff.Length);
                }
                HttpWebResponse Response = Request.GetResponse() as HttpWebResponse;
                StreamReader sw = new StreamReader(Response.GetResponseStream(), Encoding.ASCII);
             
    2009年11月5日 14:32
  • private不得行哈 要改成public

    HttpWebResponse不一定会响应或者及时响应 建议加个try catch

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年11月6日 1:34
    版主
  • 试过了,还是没有方法提示。。。。
    2009年11月6日 5:16