2012-04-25 32 views
0

私のプロジェクトでCassiniDevServerを使用しています。私はCassiniDevServerクラスのオブジェクトを作成し、適切な引数を渡してstart()メソッドを呼び出します。サーバーに接続できません

サーバーは、ブラウザでWebページを正しくホストしてレンダリングします。しかし、いくつかの時間後に、リフレッシュすると、ブラウザが

がローカルホストに接続できませんと言う:サーバはいくつかの時間後に停止しますように思え

をPORTNO。それはなぜそうですか?どうすればこれを避けることができますか?それはゴミ収集されていますか?私はMycassiniDevUtilのオブジェクトを作成し、このメソッドを呼び出し、呼び出し元のコードで

public CassiniDevServer launchWebsite(string path, string navigate, int _portNo) 
    { 
    CassiniDevServer _server = new CassiniDevServer(); ///server 

    cassiniServerList.Add(_server); 
    _server.StartServer(path, _portNo, "/", "localhost"); 
    portNo = _portNo; 

    System.Diagnostics.Process.Start("http://localhost:" + portNo + 
      "/" + navigate); 
    return _server;   
    } 

は、私はクラスのメソッドは次の通りですMyCassiniDevUtilを持っています。このメソッドは、現在作成されているサーバーインスタンスへの参照を返します。私はこの参照を呼び出しコードクラスに割り当てます。

実際に私は両方のクラスへの参照を持っていますが、まだガベージコレクションが行われていると感じています。それとも、私が理解できない場合は、数分後にブラウザがリフレッシュされたときに表示される理由を理解できません。

+0

あなたがそれをどのように構築しているか見ることなく、その答えは不可能になるでしょう。いくつかのコードを表示してください。 – NotMe

+0

次のメソッドがあるMyCassiniDevUtilクラスを作成しました – Mahesha999

+0

オリジナルの質問 – Mahesha999

答えて

1

CassiniDevにCassiniDevServerクラスのオブジェクトを作成する代わりに、おそらく未使用のポート番号の範囲に - 以下のように(それがタイムアウトプロパティを指定することを可能にするため)パッケージ、Iは_portNoは任意のポート番号である

 System.Net.IPAddress ip = System.Net.IPAddress.Parse("127.0.0.1"); 
     Server _server1 = new Server(_portNo, "/", path, ip, "localhost", 1800000); 
     _server1.Start();    

をサーバクラスのオブジェクトを作成しました。

 Random rn = new Random(); 
     int _portNo = rn.Next(1500, 4000); 

パスは、Webサイトのフォルダ(web.configファイルが含まれている1、AppCode、のAppData)への物理パスで次のように私は、動的かつrandomaly 1を生成しました。

1800000は、30分間のミリ秒に相当します。

< _portNo>/

しかし、誰もがCassiniDevパッケージのCassiniDevServerとServerクラス間のいただきました!違いを明確にすることができます

/アドレスhttp://localhostでホストされているウェブサイトを取得するために指定されています。

+0

Thanks Mahesha999あなたは私の人生を保存します – embarus

+0

@embarus CassiniDevパッケージのCassiniDevServerとServerクラスの違いについて考えたら、忘れずに返信してください。 – Mahesha999

+0

OK。今のところ私は2つのクラスの間に何の違いも見ませんでした。 :) – embarus

0

CassiniDevServerオブジェクトのTimeOutオプションを参照してください。

をシャットダウンする前に、サーバがアイドル状態になる時間(ミリ秒)です。がシャットダウンします。私はあなたがこれを設定しているところが分からないので、おそらくサーバー自体はオフになっています。

これで、参照を保持している限り、ガベージコレクションは行われません。しかし、それは上記のために赤いニシンです。

+0

にコードが追加されましたCassiniDevのタイムアウトを設定するにはどうすればよいですか? – Mahesha999

+1

@ Mahesha999:http://cassinidev.codeplex.com/discussions/290617 – NotMe

関連する問題