-2

エンドユーザーのバックアップ復元メカニズムを実装することを目的としたSilverlightアプリケーションがあります。

riaサービスを介してWebSiteプロジェクトにある特定のディレクトリ内のファイルのリストを取得する必要があります。

どのオブジェクトを使用することで、 WebSiteプロジェクトの特定のディレクトリにあるファイルを一覧表示できるようになります。

ご清聴ありがとうございました。

4

2 に答える 2

1

Directoryクラスを使用して、サーバー上のファイルを列挙できます。ドメインサービスにメソッドを追加してファイル名のリストをSilverlightクライアントに返すことは、その後はかなり簡単なはずです。

http://msdn.microsoft.com/en-us/library/system.io.directory(v=vs.100).aspx

于 2013-02-09T13:44:53.393 に答える
0

答えはある種のハックです。クライアントのIPアドレスをサービスに送信するために使用した方法に触発されました。

default.aspxで、このパラメーターをSilverlightオブジェクトに追加します。

<param name="initParams" value="clientIP=<%=Request.UserHostAddress%>,serverPath=<%=Server.MapPath(".")%>" />

そして、Silverlightアプリケーションでは:

    public string ClientIP=string.Empty;
    public string ServerPath = string.Empty;


    private void Application_Startup(object sender, StartupEventArgs e)
    {
        this.RootVisual = new MainPage();

        try
        {
            ClientIP = e.InitParams["clientIP"].ToString();
            ServerPath = e.InitParams["serverPath"].ToString();
        }
        catch 
        {
        }
    }

ロギングの問題のためにクライアントIPをxapファイルに送信したと考えてください。気になる場合は省略できます。

そしてSilverlightアプリケーションではこのようにサービスメソッドを呼び出します:

 ser.GetFileList(((App)(App.Current)).ServerPath, FilesListReceived, null);

そしてサービス側:

 public List<string> GetFileList(string baseDirectory)
 {
        var result = new List<BRFile>();

        var files =Directory.EnumerateFiles(  baseDirectory + "\\DBBackup" );

        ....
 }

幸運を。

于 2013-02-11T06:15:52.427 に答える