服务端中的Silverlight应用程序ria服务列表文件

服务端中的Silverlight应用程序ria服务列表文件,silverlight,wcf-ria-services,server-side,file-listing,Silverlight,Wcf Ria Services,Server Side,File Listing,具有silverlight应用程序,旨在为最终用户实现备份还原机制 我必须通过ria services获取网站项目中特定目录中的文件列表 通过使用哪个对象,我将能够列出网站项目特定目录中的文件 感谢您的关注。您可以使用Directory类枚举服务器上的文件。在此之后,向域服务添加一个将文件名列表返回到Silverlight客户端的方法应该相当简单 答案是某种黑客行为。我受到了向服务发送客户端IP地址的方法的启发 在default.aspx中,将此参数添加到silverlight对象: <p

具有silverlight应用程序,旨在为最终用户实现备份还原机制

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

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


感谢您的关注。

您可以使用Directory类枚举服务器上的文件。在此之后,向域服务添加一个将文件名列表返回到Silverlight客户端的方法应该相当简单


答案是某种黑客行为。我受到了向服务发送客户端IP地址的方法的启发

在default.aspx中,将此参数添加到silverlight对象:

<param name="initParams" value="clientIP=<%=Request.UserHostAddress%>,serverPath=<%=Server.MapPath(".")%>" />
假设我将客户端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" );

        ....
 }
public List GetFileList(string baseDirectory)
{
var result=新列表();
var files=Directory.EnumerateFiles(baseDirectory+“\\DBBackup”);
....
}

祝你好运。

为什么被否决?这个问题没有答案!它可能会在将来帮助一些人。它可能会被否决,因为这只是做一些网站应该永远避免的事情。您需要保护网站的实施免受威胁。列出站点上的所有文件就像放下欢迎垫并打开门一样。它不会列出服务器上的所有文件。它将只显示保存的备份文件。该网站的安全性是另一个问题,可以在它的时间讨论,但这不是一个很好的借口不回答这个问题。嗨,我知道这个对象。如何理解网站项目的绝对路径以将其传递给此类?Directory.GetCurrentDirectory()可能就足够了。不幸的是,结果是:“C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0”,它不是服务目录。
 public List<string> GetFileList(string baseDirectory)
 {
        var result = new List<BRFile>();

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

        ....
 }