我目前我的本地機器&上運行的沙盒Web服務器使用我的申請,我抓住一個文本文件(目前爲單線)的內容,並顯示它返回到主形成。聯繫不上服務器,應用程序無法打開
當Web服務器是活的,應用程序將正常運行,這是符合市場預期。當Web服務器關閉時,應用程序拒絕打開。更不用說產生該進程。
我以爲我是正確地接近應用。如果Web服務器關閉,我使用了try catch
塊。代碼如下:
public String UpdaterURL = "http://192.168.0.12/DestinyScreening/Updater/Revision.txt";
public int UpdaterVersion(int CurrentVersion)
{
try
{
var RemoteRevision = (new WebClient()).DownloadString(UpdaterURL);
return Int32.Parse(RemoteRevision);
}
catch
{
var Date = DateTime.Now.ToString("yyyy-MM-dd");
var Time = DateTime.Now.ToString("HH:mm");
StreamWriter file = new StreamWriter("ErrorReports\\" + Date + ".txt",true);
file.WriteLine(Time + " - Could Not Contact Update Server");
file.Close();
return CurrentVersion;
}
}
現在,當我說應用程序不運行。它本質上通過Visual Studio在調試模式下運行..我已經從調試版本交換到發佈版本,並構建瞭解決方案,運行可執行文件的解決方案無法運行。
我已經通過提供的代碼拖網,一切正常。對我來說,這只是一個完整的擋板,至於爲什麼雙擊exe文件時應用程序不生成一個進程?
那麼,總體問題。看起來像是通過Visual Studio上的調試模式正常運行的所有內容。幕後會發生什麼情況會阻止進程產卵?
我無法追蹤這個錯誤,因爲它與發佈版本(雙擊不通過Visual Studio運行的可執行文件)有關。事件查看器顯示以下(這是沒有用的):
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-10-13T22:54:20.000000000Z" />
<EventRecordID>12976</EventRecordID>
<Channel>Application</Channel>
<Computer>Daryls8</Computer>
<Security />
</System>
<EventData>
<Data>DestinyScreening.exe</Data>
<Data>1.0.0.0</Data>
<Data>561d8b7c</Data>
<Data>KERNELBASE.dll</Data>
<Data>10.0.10240.16384</Data>
<Data>559f3b2a</Data>
<Data>e0434352</Data>
<Data>000b3e28</Data>
<Data>20bc</Data>
<Data>01d1060a17c9bb47</Data>
<Data>C:\Users\Daryl\Documents\Visual Studio 2015\Projects\DestinyScreening\DestinyScreening\bin\Release\DestinyScreening.exe</Data>
<Data>C:\WINDOWS\SYSTEM32\KERNELBASE.dll</Data>
<Data>0ba5af44-c01c-4d4f-a318-855d84d4148e</Data>
<Data />
<Data />
</EventData>
</Event>
這是一個控制檯應用程序?的WinForms? –
@DavidTansey對不起,我錯過了這個標籤,這是一個Winform –
它「無法運行」當然很奇怪。也許它執行但快速失敗?你可以添加一些日誌輸出到應用程序?還要注意你的'catch'塊忽略了* actual *異常。這種事情往往會使調試變得困難。 – David