解决:getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。

简介: 原文: getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。 解决方法:不要直接使用 “服务引用” , 添加为 “Web 引用”        最近用C#在winform中做一个天气预报的小程序,在网上搜了很多资料,包括现成的程序,如http://blog.csdn.net/qishuangquan/article/details/6039287,但运行到getWeatherbyCityName(city),都会出错,提示服务器无法处理请求。

原文: getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。

解决方法:不要直接使用 “服务引用” , 添加为 “Web 引用”

       最近用C#在winform中做一个天气预报的小程序,在网上搜了很多资料,包括现成的程序,如http://blog.csdn.net/qishuangquan/article/details/6039287,但运行到getWeatherbyCityName(city),都会出错,提示服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。在网上搜索该问题的原因,也没找到答案,怀疑.NET Framework版本的问题,换了3.0、3.5、4.0都一样,当然2.0是没有Service Reference的,但有Web Reference,在Web Reference上添加webservice地址,修改weathertest.Weather.WeatherWebServiceSoapClient w = new weathertest.Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");为weathertest.Weather.WeatherWebService webc = new weathertest.Weather.WeatherWebService();调试居然成功了,后来想.NET Framework4.0中有没有Web Reference,在网上搜了下找到了,原来Web Reference需要这样设置才出现:

⑴在需要调用WebService的项目上,点击鼠标右键,选择添加Service Reference,进入'Add Service Reference‘界面

⑵点击'Advanced'按钮,进入'Service Reference Settings'界面

⑶点击'Add Web Reference'按钮,进入'Add Web Reference'界面

  ①在'URL'文本框中,填写需要引用的WebService的地址(例如:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

  ②点击右边的绿色方框按钮,程序会自动前往给定的地址查找WebService服务

  ③在'Web Reference Name'文本框中,自定义此次添加的WebService的名称(例如:Weather)

  ④点击'Add  Reference'按钮,程序自动将找的WebService添加的当前的项目中,并自动放在Web References文件夹中.

自己写了个程序,测试成功,主要代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ServiceModel;
using System.Runtime.InteropServices;

namespace weather2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                weather2.Weather.WeatherWebService webc = new weather2.Weather.WeatherWebService();
                string[] s = new string[23];//声明一个string数组存放其返回的结果
                string city = this.textBox1.Text.Trim();//获得文本框1的内容
                s = webc.getWeatherbyCityName(city);
                MessageBox.Show("西安气象:" + "\r\n" +"天气:" +s[6] + "\r\n" + "温度:" + s[5]);
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.ToString());
            }
        }
    }
}

测试图见下:


     回到”服务器无法处理请求。 ---> 未将对象引用设置到对象的实例“这个问题,估计是VS版本的问题,因为网上看人家用的是VS2008,但我用的是VS2010,不管怎么样,这个问题还是给了个交代,可以安照上面的方法访问天气WebService。


版权声明:本文为博主原创文章,未经博主允许不得转载。

目录
相关文章
|
2月前
|
存储 弹性计算 安全
阿里云渠道商:新手如何选择阿里云ECS实例?
阿里云ECS凭借弹性扩展、稳定可靠与安全防护,助力企业高效上云。本文系统解析实例规格选择关键因素:业务场景匹配、性能评估、成本优化、地域部署与扩展规划,结合计费模式与实际需求,提供科学选型建议,助您精准匹配资源,提升云上效能。(238字)
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
691 5
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
297 10
|
2月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
2月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
445 8