Flex下的ArcIMS开发──环境配置(上)

    以前写过一些关于Flex下ArcIMS的开发,还在ESRI的论坛上贴过ArcGIS Server without ADF,感觉有点零碎,主要在线写Blog不太习惯,现在下了个Live Writer,感觉不错,有那么点写专栏的感觉了,有人曾经留言不知道怎么下手开发Flex+ArcIMS的开发。加上这些时间积累一些知识(主要是.net与Flex的互操作),感觉之前写的东西有点不合时宜了。于是有了新的系列。写的不好,大家将就着看吧。

    必要软件:ArcIMS 9.2,Visual Studio 2005或2008,Flex Builder 2.0及以上的版本,FluorineFx,Microsoft Enterprise Library,前两个相信大家很清楚从那边down,FluorineFx在http://www.fluorinefx.com/有下载,Enterprise Library在微软的网站也有下载。现在的版本是3.1安装的时候要打vs 2005的sp1,2.0版本的则不需要。

   首先在2005建立一个名为IMSFxServer的空解决方案,添加名为IMSFxLib  的FluorineFx ServiceLibrary新工程

image

然后再添加一个FluorineFx ASP.Net Web Site项目,就起个名字叫IMSFxServer把,记得位置下拉框中选择http不要选择文件系统哦。

image

    下面就是添加引用了,由于ArcIMS相对比较简单,只要添加一个ESRI的引用就行了也就是ESRI.ArcGIS.ADF.Connection,搞定后就可以连接ArcIMS咯!

    首先在Asp.Net项目中添加IMSFxLib 的引用,然后在IMSFxLib中添加一个类,名字为IMSConnection在这类里面我们要用到ReomtingService Attribute来标识我们的服务,简单起见我们只提加一个方法,getImgURL();

文件的代码如下

using System;
using System.Collections.Generic;
using System.Text;
using ESRI.ArcGIS.ADF.Connection.IMS;
using FluorineFx;

namespace IMSFxLib
{
    [RemotingService]
    public class IMSConnection
    {
        protected HTTPConnection m_imsConn;
        public IMSConnection()
        {
            m_imsConn = new HTTPConnection("http://localhost/servlet/com.esri.esrimap.Esrimap?ServiceName=wx&ClientVersion=4.0");
            m_imsConn.ServiceName = "nj";
            m_imsConn.User ="brune_cnBlog";
            m_imsConn.Password="brune";
        }
        public string getImgURL()
        {
            string s = m_imsConn.Send("<?xml version=\"1.0\" encoding=\"UTF-8\" ?><ARCXML version=\"1.1\"> <REQUEST>    <GET_IMAGE>      <PROPERTIES>      </PROPERTIES>    </GET_IMAGE>  </REQUEST></ARCXML> ");
            return s;
        }
    }
}

OK我们现在运行IMSFxServer网站,记得把Console.aspx设为起始页,界面如下

image

点击Call按钮就会出现结果

image

将output这个 element的url 后面的地址复制到浏览器中看一下

地图出现了,目前为止已经能够通过Fluorine的服务访问IMS了,下篇将介绍如何在Flex使用Fluorine服务,让地图显示在Flash中。

原文地址:https://www.cnblogs.com/Brune/p/1125988.html