C# Webservice没有';在服务器重新启动或IIS重置后无法登录
我编写了一个代码,用C# Webservice没有';在服务器重新启动或IIS重置后无法登录,c#,winforms,web-services,iis,C#,Winforms,Web Services,Iis,我编写了一个代码,用System.Timers.Timer每隔2分钟调用doMethod(),doMethod()在服务器a上使用web服务,但如果服务器a或服务器a上的IIS停止,则在重新启动后,doMethod()无法工作。我的问题是: 服务器重新启动后计时器是否停止?(我知道答案是否定的,但我很困惑) 服务器重新启动后,web服务是否无法登录 代码如下: public Form1() { InitializeComponent(); System.Time
System.Timers.Timer
每隔2分钟调用doMethod()
,doMethod()
在服务器a上使用web服务,但如果服务器a或服务器a上的IIS停止,则在重新启动后,doMethod()
无法工作。我的问题是:
public Form1()
{
InitializeComponent();
System.Timers.Timer timer = new System.Timers.Timer
{
Interval = 120000 //2 minutes
};
timer.Elapsed += timer_Elapsed;
timer.Start();
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
var session = new WebApiLoginSession("http://172.27.1.1", "webserviceUser", "somePassword");
if (string.IsNullOrEmpty(session.ID))
{
doMethod();
}
}
您的服务只有在收到第一个请求后才会启动。这是IIS中应用程序的默认行为。当然,您可以在应用程序中更改该配置。这是一个可能有帮助的链接。您如何知道服务器正在重新启动或IIS正在回收?当应用程序停止工作而您手动登录到WebApiLoginSession时会发生什么情况?@Jeremythonpson我的应用程序正在服务器A上的SQL Server中插入一些数据,而另一个团队正在服务器A上工作,有时他们必须重新启动服务器,在此之前他们会呼叫我,但在重新启动服务器之后,在我重新启动应用程序之前,我的应用程序不会工作。好的,我最初认为web服务是冷的,在第一次请求时加载库,如果这需要>1分钟,它就会超时。你看到的错误是什么?重新启动后预热IIS是否会有所不同?当您说doMethod()不起作用时,它是如何失败的?您必须在
WebApiLoginSession
call中检查代码为什么失败?这些信条怎么会无效呢?该服务是否切断了连接,或者更可能是某种程度上孤立了连接?