C# 小技巧(不定时更新)

1、Arcengine调用GP服务,抛出异常方法

                    object sev = null;
                    try
                    {
                        Application.DoEvents();
                        gp.Execute(gpBuildPyramidsandStatistics, null);
                        Application.DoEvents();
                        Console.WriteLine(gp.GetMessages(ref sev));
                    }
                    catch (Exception ex)
                    {
                        // Print geoprocessing execution error messages.
                        MessageBox.Show(gp.GetMessages(ref sev));
                    }

//ps:调用GP服务处理数据库中的数据,必须添加gp的环境变量workspace.http://www.ithao123.cn/content-7464230.html

2、日志生成

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;

namespace Geoway.IDB.FileCheck.Utility
{
    ///<summary>
    ///目的:日志操作类
    ///创建人:jwh
    ///创建日期:2016/7/11
    ///修改描述:
    ///修改人:
    ///修改日期:
    ///备注:
    ///</summary>
    public class LogExport
    {
        private static object _lockerForLog = new object();
        public static string LOGPATH = Application.StartupPath + "\\log\\checklog";//日志文件夹

        /// <summary>
        /// 记录日志
        /// </summary>
        /// <param name="content"></param>
        /// <param name="logPath"></param>
        public static void SaveLog(string content, string logPath = "")
        {
            try
            {
                if (string.IsNullOrEmpty(logPath))
                {
                    logPath = LOGPATH;
                }

                lock (_lockerForLog)
                {
                    FileStream fs;
                    if (!Directory.Exists(logPath))
                    {
                        Directory.CreateDirectory(logPath);
                    }
                    fs = new FileStream(Path.Combine(logPath, DateTime.Now.ToString("yyyyMMdd") + ".log"), FileMode.OpenOrCreate);
                    StreamWriter streamWriter = new StreamWriter(fs);
                    streamWriter.BaseStream.Seek(0, SeekOrigin.End);
                    streamWriter.WriteLine(DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss") + " " + content);
                    streamWriter.Flush();
                    streamWriter.Close();
                    fs.Close();
                }
            }
            catch
            {
            }
        }
    }
}

3、获取数据库中的镶嵌数据集

 /// <summary>
        /// 获取界面上选择的镶嵌数据集
        /// </summary>
        /// <returns></returns>
        public IMosaicDataset GetMosaicDataset()
        {
            try
            {
                _selMosicName = cmbMosicData.SelectedItem.ToString();           

                IPropertySet propertySet = new PropertySetClass();
                propertySet.SetProperty("SERVER", "");
                propertySet.SetProperty("INSTANCE", "sde:oracle11g:XXX.XXX.XXX/db11g");
                propertySet.SetProperty("USER", "XXX");

                propertySet.SetProperty("PASSWORD", "XXX");
                propertySet.SetProperty("DATABASE", "");
                propertySet.SetProperty("VERSION", "");
                IWorkspaceFactory2 workspaceFactory2 = new SdeWorkspaceFactoryClass();
                IWorkspace pWorkspace = workspaceFactory2.Open(propertySet, 0);

                IMosaicDataset pMosicDataset = null;
                IMosaicWorkspaceExtensionHelper pMosaicWsExHelper = new MosaicWorkspaceExtensionHelperClass();
                IMosaicWorkspaceExtension pMosaicWsExt = pMosaicWsExHelper.FindExtension(pWorkspace);
                if (pMosaicWsExt != null)
                {
                    try
                    {
                        pMosicDataset = pMosaicWsExt.OpenMosaicDataset(_selMosicName);
                    }
                    catch (Exception ex)
                    {
                        return pMosicDataset;
                    }
                }
                return pMosicDataset;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
时间: 2024-12-16 19:23:56

C# 小技巧(不定时更新)的相关文章

[原创][FPGA]Quartus实用小技巧(长期更新)

0. 简介 在使用Quartus软件时,经常会时不时的发现一些小技巧,本文的目的是总结所查阅或者发现到的小技巧,本文长期更新. 1. Quartus中的模板功能 最近在Quartus II的菜单里找到了一个好去处:language template. 在Edit -> Insert Template下可以看到Verilog HDL.SystemVerilog.VHDL.AHDL.Quartus II TCL.TCL的语言模板. 在Verilog HDL下面,可以找到基本的逻辑操作符.基本语言结构

sourceInsight使用小技巧汇总--持续更新中

作为测试人员,读各种平台的工程代码时,根本不想安装各种vs或者eclipse等,于是,就找了一款代码阅读工具. sourceInsight,下载地址为官网:http://www.sourceinsight.com/ 那么,问题就来了,sourcinsight的界面风格呀,真真不习惯,而且打开代码文件的时候没有文件标签. 于是,就百度呀 总结一些设置小技巧 设置前打开新建project后打开时这样的 一. Source Insight中文字体设置 Source Insight是一个面向项目开发的程

Markdown使用小总结[不定时更新]

title: Markdown使用小总结 date: 2019-03-27 10:09:19 tags: Markdown --- 鸽了这么久,Markdown使用下降,因此写一篇博客来总结一下至今(2019.3.27)为止的markdown使用方法 1 普通技巧 1.1 普通文字 1.2 使用引用/注释 1.3 强调文本 1.4 列表 1.5 超链接 2 进阶操作 2.1 数学公式使用 2.2 代码块 1 普通技巧 1.1 普通使用文字 普通使用文字 1.2 使用引用/注释 >引用 ``使用注

嵌入式:小技巧(不断更新)

1.MDK.Keil C51 编译后数据 Program Size: Code=3720 RO-data=336 RW-data=56 ZI-data=1832 Code:程序大小                                  Flash RO-data:常量                                   Flash RW-data:(已初始化的)可读可写变量    Flash   RAM ZI-data:未初始化的变量                

VS的一些实用快捷键及小技巧(不断更新)

在未选中文本的情况下: ctrl+x 剪贴并删除当前的行,可以用于快速删除整行代码 ctrl+c 复制当前行的代码 ctrl+l 删除当前行 组合键,需要按两次: ctrl+k,ctrl+c 注释当前选择的所有代码 ctrl+k,ctrl+u 取消注释当前选择的所有代码 ctrl+m,ctrl+m 展开或折叠代码块 ctrl+k,ctrl+d 格式化文档 其他: F12 转到定义 ctrl+(数字键-) 向后导航,定位到上次的光标位置 ctrl+shift+(-) 向前导航 shift+home

HTML+CSS - 前端设计的小技巧(持续更新......)

2015年7月6日20:28:20 1.设置文字的居中,非控件内的. :text-alain:center 2.图片在ASP.NET中,可以直接拖放到界面,自动形成img控件. 3.CSS直接在全局样式  *  内,设置UL标签无样式,图片无边框,margin和padding都为0. 4.取消浮动Clear. :clear:left   取消左浮动 5.图片按钮   ImageButton控件 SRC属性,设置图片的路径. 6.服务器空间,在网页中也是input控件,所以,直接设置input属性

ubuntu小技巧(不定期更新)

1.gedit打开windows保存的txt出现乱码 默认情况下,用ubuntu打开windows保存含有中文的txt文件时会出现乱码. 只需在终端运行以下两条命令则可解决. gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']" gsettings set org.gnome.gedi

php实用小技巧【持续更新】

这是本人开始做项目的时候遇到过的问题还有解决方法 1.eval函数 能把字符串转换成可执行的php代码,如果字符串不是可执行的php代码的话,需要在前面加上@,屏蔽notice 2.array_merge函数 array_merge函数是用来合并数组的,本人之前遇到过一个需求 把arr_1在arr_2中的键值匹配到的键值替换成arr_2的值 这时就可以用array_merge,因为关联数组合并后面数组会替换前面数组的同命键值

C语言_小技巧(长期更新)

1.用循环实现逆序输出:while(a>0) { printf("%d",a%10); a/=10; }

实用小技巧(陆续更新)

查看nginx访问次数前列的IP: cat /usr/local/nginx/logs/domain.access.log|awk '{print $1}'| sort |uniq –c|head -n 10