-2

拥有一个 Silverlight 应用程序,旨在为最终用户实施备份恢复机制。

我必须通过ria services获取驻留在网站项目中的特定目录中的文件列表。

通过使用哪个对象,我将能够列出网站项目特定目录中的文件。

感谢您的关注。

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

答案是某种hack。我的灵感来自于我用来将客户端 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 回答