这两天运行一个基于ArcGIS Server 的webservice 网络应用程序,可是好事多磨,我的环境配置一直就跟我较着劲起先是提示HTTP 500 Internal Server Error
后来,在网络的指引下我就通过修改IE提示信息的内容,真正发现了其实这是一个关于控件指定的问题(to see the error ,unchek show friendly HTTP error messages in the Advanced tab in Internet Option),因为当我运行的时候报错是:
ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components
随后我有通过谷歌百度找到几篇相关的文章:
http://zhidao.baidu.com/question/250811579.html;
http://bbs.esrichina-bj.cn/ESRI/thread-92186-1-1.html;
终于找到一个解决办法,使用任何的ESRI控件产品必须先绑定许可证,保证可以使用否则报错,没有勾选友好提示项的话会显示HTTP 500 Internal Server Error。
可是当你真正回到程序中添加的时候却发现根本就没有这么个东西,这又是为什么捏?绑定需要用到bind函数,可是在代码里不能直接使用。
最后,在我的学姐帮助下,在程序中添加了一个非常之关键的引用奇迹出现了,编译通过了,结果也非常之准确,一切就这样结束了。
吼吼,我忘了告诉大家我用的是什么引用了。步骤如下:
1、右击项目名(比如说我的解决方案下的下面是。。。)
2、add ArcGIS reference(添加ArcGIS引用)
4、在代码中添加语句"ESRI.ArcGIS.RuntimeManager.",能提示就会乖乖地把RuntimeManager这个类显示出来了,下面就很简单了
6、最终语句是这样的:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Server);
顺便说一句,如果用engine的话可能就要改成.Engine或.Desktop;具体看智能提示能给几种了。
7、单击Debug调试代码(click debug to debug the code)
最后,如果你使用java版本请参阅:http://forums.arcgis.com/threads/12833-ArcGIS-Server-initialize-license-(Java-version)