C#中如何调用服务器上的IIS上某个指定的站点重启

C#中如何调用服务器上的IIS上某个指定的站点重启,第1张

直接给你一个现成代码吧,实测套用后可行,直接将站点链接输进去就行:

using JinherAMPBTPDeploy;

using MicrosoftWebAdministration;

using RedisHelper;

using System;

using SystemCollectionsGeneric;

using SystemConfiguration;

using SystemIO;

using SystemLinq;

using SystemText;

using SystemThreading;

using SystemThreadingTasks;

namespace Redis

{

public class Program

{

static readonly string AppPoolName = ConfigurationManagerAppSettings["ApplicationPoolName"]ToString();

static readonly string WebSiteName = ConfigurationManagerAppSettings["WebSiteName"]ToString();

static readonly int SleepTime = intParse(ConfigurationManagerAppSettings["SleepTime"]ToString());

static ServerManager sm;

static void Main(string[] args)

{

ConsoleWriteLine($"检测程序启动,{WebSiteName}当网站或其应用池停下后,会自动启动。");

sm = new ServerManager();

new Thread(RecoveryWebSite)Start();

}

static void RecoveryWebSite()

{

while (true)

{

try

{

var pool = smApplicationPools[AppPoolName];

if (pool != null && poolState == ObjectStateStopped)

{

ConsoleWriteLine("检测到应用池" + AppPoolName + "停止服务");

ConsoleWriteLine("正在启动应用池" + AppPoolName);

if (poolStart() == ObjectStateStarted)

{

ConsoleWriteLine("成功启动应用池" + AppPoolName);

}

else

{

ConsoleWriteLine("启动应用池" + AppPoolName + "失败 " + SleepTime / 60 + "秒后重试启动");

}

}

var site = smSites[WebSiteName];

if (site != null && siteState == ObjectStateStopped)

{

ConsoleWriteLine("检测到网站" + WebSiteName + "停止服务");

ConsoleWriteLine("正在启动网站" + WebSiteName);

if (siteStart() == ObjectStateStarted)

{

ConsoleWriteLine("成功启动网站" + WebSiteName);

}

else

{

ConsoleWriteLine("启动网站" + WebSiteName + "失败 " + SleepTime / 60 + "秒后重试启动");

}

}

}

catch (Exception ex)

{

ConsoleWriteLine(exMessageToString());

}

GCCollect();

ThreadSleep(SleepTime);

}

}

}

}

页面和php交互的触发媒介不外乎:按钮,超链接之类的但不管是什么媒介一旦被触发之后就必须要使用get或post方式把你的请求发送给服务器,服务器接收到你的请求之后根据你的要求算出相应的结果,最后发送到你的屏幕上来

而get或post方式通常是:form表单提交,页面刷新,ajax这三种方式,具体用哪一种就要看具体状况了

比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单的方法就是通过一个字符串,比如string strButton = ,然后输出到页面,但是如果我们需要这个控件来执行一些服务器的功能,就比较困难了。这里我们就可以用过借用__doPostBack这个函数来完成。接下来我觉个例子来说明一下具体如何调用。 既然要在服务器端运行那么,我们可以声明一个不可见的LinkButton控件,那通常,我们希望一个控件不可见,通常都是把visible属性设为false。但是在这里我们把LinkButton的Text属性设置为空,来是这个LinkButton不可见(为什么要这么设置,而不是直接设置visible属性,我会在下面说明),接下来我们可以在LinkButton里面写一些服务器端的代码。然后就是如何通过我们动态生成的客户端控件来调用LinkButton里面的功能,我们可以通过一个JavaScript函数来实现 function ExcuteOnServer() { //第一个参数是你希望提交到服务器的控件的ID号,第二个参数是事件参数 __doPostBack('LinkButtonID',''); } 接下去我们只需要在动态生成的这个Button控件的onclick事件中写上onclick=”JavaScript:ExcuteOnServer();“,这样当我们点击这个动态生成的客户端控件的时候,他便会执行LinkButton中的代码。 这样便实现了动态生成的客户端控件提交到服务器端的功能。 最后要说一下的就是为什么希望LinkButton控件不可见的时候,不是通过visible属性来完成的。

在weblogic中,创建好server后,启动server,在这介绍两种方式

第一种方法比较简单

在domain的目录下,用starit startManagerWeblogicNaNd Server-0来启动,

这块主要是注意要找到路径。

第二种方法比较复杂

1创建一个machine,类似虚拟机器(在这就不演示创建的过程,很简单)

2把server添加到machine,如下图

首先进入machine页面,双击machine,找到machine中的配置-》服务器

然后添加选择需要启动的server,一步一步添加完成,

3然后在

D:\soft\weblogic\weblogic92\server\bin路径下, Start startNodeManage 127001 5556 启动,注意路径,ip以及端口号的变化,

这块需要在D:\soft\weblogic\weblogic92\common\nodemanager 这个路径下添加一个nodemanagerhosts的文件。里面写上对应的ip。不然它启动时server不识别的。

4启动好machine后,然后进入Server ---》控制中启动server即可。

怎样实现weblogic在启动时自动加载用户名和密码,不用我们每次启动都得手动输入。

在D:\soft\weblogic\user_projects\domains\base_domain\servers\Server-0\security目录下,创建一个bootproperties文件,里面写上用户名和密码就可可以了,这样写username=weblogic 换行然后写password=weblogic,虽然写的明文,但是在weblogic加载一次后,自动加密。

其中base_domain是domain的名字 Server-0 是server的名字sercurity是需要手动创建的文件夹

其中security目录和bootproperties文件在开发模式下了会自动创建,在产品模式下需要我们手动的创建。

这种情况一般是导致下载!

当然你非要这么做的话,可以自己添加web控件,来实现web程序调用服务器文件,实现exe文件操作!单独想在网页打开一个执行文件很难的。

就比如你要挂一个视频到网页,这个视频可以被看做特殊的EXE文件,都还需要在html代码中添加属性value=viedo,添加图像标签</img>等。因为执行文件各种不同,需要自己放到服务器端,再进行web前端编写,有必要需要人家安装web控件来实现执行文件的操作!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » C#中如何调用服务器上的IIS上某个指定的站点重启

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情