IIS7

又被同事问到这个问题。可能目前使用这种方式的人不多,所以搜索也不好使。最后再某网站找到了相关说明整理以备使用。

IIS6配置

在IIS6 中,到 指定站台按滑鼠右键==>内容==>主目录==>设定==>插入通用应用程式对应,执行档中放入“C:\WINNT \Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,并取消“确认该档案是否存在”,如图iis6set.jpg,设定完成后虚拟路径会自动交由程式处理,站台就可正常运作了

iis6set

对应的IIS7配置

1. 指定站台==>处理常式对应==>新增通用指令码对应==>设定执行档 “C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,名称可自定

iis7set

2. 应用程式集区 ==>指定集区按滑鼠右键 ==>基本设定 ==>将 “Managed 管线模式”改为“传统”,
设定完成后,重新启动指定站台,问题就处理完成

iis7set2

注:如果使用64bit 系统,请将C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll,也加入通用指令码对应

Console & Window

方法有两种,一种编译时候选择,一种是窗口隐藏

编译方式

项目->选项->输出类型 由原来的控制台程序修改为Windows程序

窗口隐藏方式

古老的windows-api方式

[DllImport("User32.dll")]
//返回值:如果窗口原来可见,返回值为非零;如果函数原来被隐藏,返回值为零。
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);

//API 常數定義
private const int SW_HIDE = 0;
private const int SW_NORMAL = 1; //正常弹出窗体
private const int SW_MAXIMIZE = 3; //最大化弹出窗体
private const int SW_SHOWNOACTIVATE = 4;
private const int SW_SHOW = 5;
private const int SW_MINIMIZE = 6;
private const int SW_RESTORE = 9;
private const int SW_SHOWDEFAULT = 10;

Process current = Process.GetCurrentProcess();
ShowWindowAsync(current.MainWindowHandle, 6);