1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
-
- using System;
- using System.Collections.Generic;
- using System.Windows.Forms;
- using ESRI.ArcGIS;
- using ESRI.ArcGIS.esriSystem;
- namespace GNetworkProcessTool
- {
-
-
-
- public class ESRILicenseManager
- {
-
-
-
- private static IAoInitialize _aoInitialize;
-
-
-
- public static void InitializeLicense()
- {
- if (!RuntimeManager.Bind(ProductCode.Engine))
- {
- if (!RuntimeManager.Bind(ProductCode.Desktop))
- {
- MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
- return;
- }
- }
- bool __bHasAvailableProsuct = false;
- #region -------- ArcGIS平台运行授权可用性检测 --------
- ESRILicenseManager._aoInitialize = new AoInitializeClass();
- List<esriLicenseProductCode> __lstCheckingProduct = new List<esriLicenseProductCode>();
- __lstCheckingProduct.Add(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
-
- __lstCheckingProduct.Add(esriLicenseProductCode.esriLicenseProductCodeEngine);
- __lstCheckingProduct.Add(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
- __lstCheckingProduct.Add(esriLicenseProductCode.esriLicenseProductCodeStandard);
- foreach (var __productItem in __lstCheckingProduct)
- {
- esriLicenseStatus __licStatus = _aoInitialize.IsProductCodeAvailable(__productItem);
- if (__licStatus == esriLicenseStatus.esriLicenseAvailable)
- {
- __bHasAvailableProsuct = true;
- break;
- }
- }
- #endregion
- __lstCheckingProduct.Clear();
- if (!__bHasAvailableProsuct)
- {
- throw new System.Exception("没有可用的ArcGIS平台运行授权.");
- }
- RuntimeManager.Bind(ProductCode.Desktop);
- RuntimeManager.BindLicense(ProductCode.EngineOrDesktop, LicenseLevel.GeodatabaseUpdate);
- ESRILicenseManager._aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
- }
-
-
-
- public static void ShutDown()
- {
- if(ESRILicenseManager._aoInitialize != null)
- {
- ESRILicenseManager._aoInitialize.Shutdown();
- }
- }
- }
- }
|