관리자에게 전자 메일을 보내는 URL을 호출하여 클라이언트 데이터가 업데이트/전송되었음을 관리자에게 알리는 프로그램의 일부를 작성하려고합니다. 저는 Windows 7과 2003에서만 성공했습니다. Windows 서버 2008에서 실행해야합니다. URL이 호출되면 사용자로부터 웹 브라우저를 숨겨야합니다. 탐색기 창을 열어두면 이메일을 성공적으로 전송했지만 창을 숨기면 항상 실패합니다. 다음과 같이 내가 사용하고있는 코드는 다음과 같습니다C# URL 호출 : 제한 시간
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url += strNewValue);
// execute the request
HttpWebResponse response = (HttpWebResponse)wr.GetResponse();
Stream resStream = response.GetResponseStream();
response.Close();
/*
WebBrowser web = new WebBrowser();
web.AllowNavigation = true;
web.Visible = false;
web.Navigate(url+strNewValue);
*/
/*
ProcessStartInfo startweb = new ProcessStartInfo(url + strNewValue);
startweb.RedirectStandardOutput = false;
startweb.WindowStyle = ProcessWindowStyle.Hidden;
startweb.UseShellExecute = true;
startweb.CreateNoWindow = true;
Process.Start(startweb);
*/
주석으로 코드 내가이 작품을 만들기 위해 노력했다 다른 시도를 보이고있다. 이 코드는 모두 Windows 2007 및 Windows Server 2003에서 성공적으로 작동하지만 Windows 2008 Server에서 작동하도록 할 수는 없습니다.
응용 프로그램의 코드 섹션에 도달 할 때마다 프로그램은 응답하지 않기 시작하여 결국 복구되어 알림을 보냈다고 말합니다. 그러나 응용 프로그램의이 시점에서 멈추고 전자 메일은 전송되지 않습니다. 이 URL을 확인한 후 수동으로 완료 할 때 아무런 문제없이 이메일을 보냅니다. 잠재적으로 문제가 발생할 경우 .NET 4.0 클라이언트 패키지를 사용하고 있습니다. 내가 얻는 유일한 오류는 httpwebresponse getresponse()에 대한 시간 초과 오류입니다.
어떤 조언이 도움이 될 것입니다. 사전에 감사합니다.
그것은 당신의 윈도우 서버 2008 시스템이 연결을 허용하지 않는 제한적인 방화벽 뒤에있는 것을 나에게 같은 소리. 코드에서 그 일을 할 수있는 방법이 없으면 네트워크 관리자에게 연결을 허용해야합니다. – driis
또한 Server 2008의 ProcessStartInfo 클래스에 대한 제한된 지원이있는 것처럼 보입니다. doc 페이지 [here] (http://msdn.microsoft.com/en-us/library/system.diagnostics)를 확인합니다. processstartinfo.aspx) 이러한 제한이 여기에도 적용되는지 확인하십시오. –
기기의 브라우저에서 URL을로드 할 수 있습니까? – zimdanen