//创建WMS
protected void btnCreatWMS_Click(object sender, EventArgs e)
{
string strSerName = "fms";
string strService = "California";
string strSerType = "MAPSERVER";
string strDocPath = string.Empty;
#region
//连接到主机服务器
IGISServerConnection pGISServerConnection = new ESRI.ArcGIS.Server.GISServerConnectionClass();
pGISServerConnection.Connect(strSerName);
//创建空的服务器上下文
IServerObjectManager som = pGISServerConnection.ServerObjectManager;
IServerContext serverContext = som.CreateServerContext("", "");
//得到服务对象管理员
IServerObjectAdmin pServerObjectAdmin = pGISServerConnection.ServerObjectAdmin;
IServerObjectConfiguration2 pSOC = pServerObjectAdmin.GetConfiguration(strService, strSerType) as IServerObjectConfiguration2;
//得到原服务的mxd文件,并利用此文件生成新的服务
//IPropertySet pProSet = pSOC.Properties;
//object temp = pProSet.GetProperty("FilePath");
//strDocPath = temp.ToString();
IServerObjectConfiguration2 pSOC1 = pServerObjectAdmin.CreateConfiguration() as IServerObjectConfiguration2;
pSOC1.Name = "MyService";
pSOC1.TypeName = "MapServer";
pSOC1.IsPooled = true;
pSOC1.MinInstances = 1;
pSOC1.MaxInstances = 1;
pSOC1.WaitTimeout = 10;
pSOC1.UsageTimeout = 120;
//WMS新服务的参数---文件路径、删除目录、虚拟目录
IPropertySet pNewProSet = pSOC1.Properties;
//pNewProSet.SetProperty("FilePath", strDocPath);
pNewProSet.SetProperty("FilePath", @"F:\data\newMxd.mxd");
pNewProSet.SetProperty("OutputDir", @"D:\ArcGIS9.3\ArcGIS Server\arcgisoutput");
pNewProSet.SetProperty("VirtualOutputDir", "http://fms/arcgisoutput%22);
pNewProSet.SetProperty("SOMCacheDir", @"D:\ArcGIS9.3\ArcGIS Server\arcgiscache");
//设置WMS的名称和标题
IPropertySet2 pProSet1 = serverContext.CreateObject("esriSystem.PropertySet") as IPropertySet2;
pProSet1.SetProperty("Name", "NewWMS");
pProSet1.SetProperty("Title", "TitleByDefault");
//pProSet1.SetProperty("OutputDir", @"D:\ArcGIS9.3\ArcGIS Server\arcgisoutput");
//pProSet1.SetProperty("VirtualOutputDir", "http://fms/arcgisoutput%22);
//pProSet1.SetProperty("OnLineResource", "http://localhost/arcgis/services/MyService/MapServer/WMSServer%22);
IPropertySet2 pProSet2 = serverContext.CreateObject("esriSystem.PropertySet") as IPropertySet2;
pProSet2.SetProperty("WebEnabled", "true");
pProSet2.SetProperty("WebCapabilities", "Map,Query,Data");
pSOC1.set_ExtensionProperties("WMSServer", pProSet1);
pSOC1.set_ExtensionInfo("WMSServer", pProSet2);
pSOC1.set_ExtensionEnabled("WMSServer", true);
pServerObjectAdmin.AddConfiguration(pSOC1);
//启动服务
pServerObjectAdmin.StartConfiguration("MyService", "MapServer");
//释放服务器上下文
serverContext.ReleaseContext();
#endregion
}