当前位置:编程学习 > C#/ASP.NET >>

webservice发布在iis上不稳定

问题如下:
1. 程序添加引用本机的webservice,前台调用数据的挺流畅,不会有问题。
2. 把webservice发布到iis上(本机的iis),程序引用iis上的webservice,前台调用有时数据就出不来,报异常。改了文件的权限报错的几率会小,但是多点几次还是可能报错。

我不知道是iis本身的问题,还是哪里配置有问题,请高人或遇到过类似问题的朋友来帮我解答一下,谢谢。 --------------------编程问答-------------------- 顶一下,高人在哪里? --------------------编程问答-------------------- 报什么异常啊? --------------------编程问答--------------------
引用 2 楼 qiujialongjjj 的回复:
报什么异常啊?

System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.IndexOutOfRangeException: 索引超出了数组界限。
   在 EDSWebService.ServiceData.RelaContent(String[] devBuf, String[] rtBuf, Int32 devNum, Int32 rtNum) 位置 C:\Projects\EDSWebService\EDSWebService\EDSWebService\ServiceData.cs:行号 193
   在 EDSWebService.WebService.GetPointMonitorData(String sysId) 位置 C:\Projects\EDSWebService\EDSWebService\EDSWebService\WebService.asmx.cs:行号 276
   --- 内部异常堆栈跟踪的结尾 ---

GetPointMonitorData(String sysId)方法中调用了
RelaContent(String[] devBuf, String[] rtBuf, Int32 devNum, Int32 rtNum) --------------------编程问答-------------------- 引超出了数组界限。索引越界了唉。程序问题,好好查查是什么情况下会导致索引越界。另外你的程序也可以加个判断撒。 --------------------编程问答--------------------
引用 4 楼 guwei4037 的回复:
引超出了数组界限。索引越界了唉。程序问题,好好查查是什么情况下会导致索引越界。另外你的程序也可以加个判断撒。

那为什么引用本机的相同webservice就不会报这个错误呢? --------------------编程问答--------------------
引用 5 楼 wx999999999 的回复:
Quote: 引用 4 楼 guwei4037 的回复:

引超出了数组界限。索引越界了唉。程序问题,好好查查是什么情况下会导致索引越界。另外你的程序也可以加个判断撒。

那为什么引用本机的相同webservice就不会报这个错误呢?

不纠结这个问题。你本机不报这个错是因为没有操作到这个“特殊的情况”。你加个判断再试。 --------------------编程问答-------------------- 我怎么看着像是代码问题啊
你可以把请求的参数值记录下来,然后本地拿这些参数调用试试 --------------------编程问答-------------------- \ServiceData.cs:行号 193
看看这边的代码怎么写的 --------------------编程问答-------------------- 这明明的人品的问题,都怪到 IIS 上了,哎 --------------------编程问答-------------------- 程序问题啦,webservice不会报这些错误的~~ --------------------编程问答-------------------- 这个程序问题,另外一个,最好必用引用,这个是个人觉得,我喜欢把服务的wsdl生成代理类还操作,这样配置地址什么的都很方便,而且能降低耦合,你可以把服务的wsdl弄下来,然后用wsdl /si D:\Temp\test3.wsdl /out:d:\Temp\a.cs这个命令把他生成对应的类。这样直接对类操作,就相当于对这个服务操作类,不过是个人习惯,希望楼主参考 --------------------编程问答-------------------- 上面的/si去掉。针对不同的服务接口参数可能有变,如果有用这样方式的自己去搞下就行了,这个输入实在vs下面的命令提示中。 --------------------编程问答-------------------- 搞飞机啊.............. --------------------编程问答-------------------- webservice 里try catch后写个日志,看看到底什么数据导致,再到本地测试这些数据。 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,