Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象引用未设置为实例_C#_Web Services - Fatal编程技术网

C# 对象引用未设置为实例

C# 对象引用未设置为实例,c#,web-services,C#,Web Services,我不熟悉c#和web服务。。。通常我使用python很长一段时间 我需要连接一个将在IIS上运行的web服务,本地调试成功,我将其部署到本地测试服务器,但由于它位于另一台计算机上,我无法通过web浏览器完全测试它 当我尝试使用suds(python)访问它时,我的第一个测试函数helloworld运行正常,这表明我的服务是可访问的 但是,当我尝试调用接受参数并返回custon定义的数据类型的服务funton时,我的服务只是返回未设置为对象实例的对象引用 正如我所说,我对c#和web服务还不熟悉。

我不熟悉c#和web服务。。。通常我使用python很长一段时间

我需要连接一个将在IIS上运行的web服务,本地调试成功,我将其部署到本地测试服务器,但由于它位于另一台计算机上,我无法通过web浏览器完全测试它

当我尝试使用suds(python)访问它时,我的第一个测试函数
helloworld
运行正常,这表明我的服务是可访问的

但是,当我尝试调用接受参数并返回custon定义的数据类型的服务funton时,我的服务只是返回未设置为对象实例的对象引用

正如我所说,我对c#和web服务还不熟悉。。。所以我无法发现我的错误:(


我遗漏了什么?

根据给定的信息不可能确定,但我打赌
baglanti.someFunc(deviceId)
返回
null
,并且在尝试获取
bakiyeSorgusu.availableBalance
时会出现异常。如果是这样,我会:

  • 检查在什么情况下
    someFunc
    可能返回
    null
    ,并确定这是否正常
  • 如果可以,在服务调用中添加一个空检查,这样您就不会试图从空引用中获取
    availableBalance
  • 如果不正常,请修复
    someFunc
    中的错误

顺便说一句,如果可能的话,我建议你用英语编写代码(至少在网上发布代码示例时)。这样,代码对更多的人来说是有意义的。

根据给定的信息不可能确定,但我敢打赌
baglanti.someFunc(deviceId)
返回
null
,并且在尝试获取
bakiyeSorgusu.availableBalance
时出现异常。如果是这样,我会:

  • 检查在什么情况下
    someFunc
    可能返回
    null
    ,并确定这是否正常
  • 如果可以,在服务调用中添加一个空检查,这样您就不会试图从空引用中获取
    availableBalance
  • 如果不正常,请修复
    someFunc
    中的错误

作为补充说明,我建议您尽可能用英语编写代码(至少在在线发布代码示例时)。这样,代码将对更多的人有意义。

您的方法bakiyeSor没有返回值。

缺少返回值。

您的方法bakiyeSor没有返回值。

缺少返回值。

最后,我们解决了问题


我使用的是api提供商提供的DLL,它对cpu和网络设备id有一些控制功能。我的开发机器是win7,但在测试服务器上,我们有虚拟win7,它在虚拟机上运行……因为虚拟操作系统没有真正的cpu或网络id,api DLL在虚拟操作系统上失败,但在虚拟机上运行最后,我们解决了这个问题


我使用的是api提供商提供的DLL,它对cpu和网络设备id有一些控制功能。我的开发机器是win7,但在测试服务器上,我们有虚拟win7,它在虚拟机上运行……因为虚拟操作系统没有真正的cpu或网络id,api DLL在虚拟操作系统上失败,但在虚拟机上运行实际上,在一台真正的机器上…

.net异常包含的信息远远不止这些;它们包含堆栈跟踪,通常还有行号。仅此一点就应该准确地指向行为不正常的代码。在哪一行中出现错误?您的web服务方法似乎没有返回语句,因此我认为这甚至不会导致错误le!可能重复的.net异常包含的信息远不止这些;它们包含stacktrace,通常还有行号。仅此一点就应该准确地指向错误代码。在哪一行中出现错误?您的web服务方法似乎没有返回语句,因此我认为这甚至不会编译!poss抱歉,修复了…我的代码更长,所以这是我遇到问题的部分…抱歉,修复了…我的代码更长,所以这是我遇到问题的部分。。。
public class Balance{
    private decimal _currentBalance;
    public decimal currentBalance
    {
        get { return _currentBalance; }
        set { _currentBalance = value; }
    }
}



public class Service1 : System.Web.Services.WebService
{
    private string _deviceId;

    public string deviceId
    {
        get { return _deviceId; }
        set { _deviceId = value; }
    }
    CrAc conn;
    CResult connResult;

    private void connectToServer()
    {
        conn= new CrAc();
        connResult= conn.Connect(deviceId);
    }

    private bool connectionControl()
    {
        return connResult.CRCStatus;
    }

    [WebMethod(Description="asdf")]
    public Balance checkBalance(string deviceId) {
        Balance balance = new balance {currentBalance= 0.00m};
        this.deviceId = deviceId;
        connectToServer();
        if (connectionControl())
        {
            XResult askBalance = conn.someFunc(deviceId);
            balance.currentBalance = askBalance.availableBalance;
        }
     return balance;
    }
}