我正在转发这个。我遇到的问题是,当我通过Visual Studio 2010运行时,我的代码在本地开发服务器上运行,但是当我上传到我们的主机时,它在其中一个dll调用中失败。 我的相关代码有点像:
IntPtr thingDB = loadDBThing("pathToDB")
If thingDB = 0 then <- check to see if pointer was returned
display getLastErrorMessage()
EXIT SUB
END IF
...
IntPtr thing = createThing(thingDB)
If thing = 0 then
display getLastErrorMessage()
EXIT SUB
END IF
...
IntPtr resultThing = doThing(thing) <- Code fails here
If resultThing = 0 then
display getLastErrorMessage()
EXIT SUB
END IF
...
IntPtr anotherResultThing = doOtherThing(resultThing)
似乎doThing()
在实时服务器上抛出错误,但在本地服务器上一切正常。我使用的图书馆是第三方图书馆,没有任何支持。服务器没有抛出错误,但我能够检查指针的返回值并从库中获取最后一条错误消息,虽然我得到的错误字符串('未知异常')不是很有帮助。我检查了所有结果变量的指针值,doThing()
返回零值。如果我更改resultThing
并将doThing()
的返回值更改为Int64
我实际上会返回指针,但doOtherThing()
将不接受resultThing
我可以不能将其转换回Int32
或IntPtr
想知道是否有人可以帮助解释为什么会发生这种情况?
操作系统:Microsoft Windows NT 5.2.3790 Service Pack 2
微软IIS / 6.0
ASP.NET版本:2.0.50727.3643
平台字符串:Win32NT