服务端中的Silverlight应用程序ria服务列表文件
具有silverlight应用程序,旨在为最终用户实现备份还原机制 我必须通过ria services获取网站项目中特定目录中的文件列表 通过使用哪个对象,我将能够列出网站项目特定目录中的文件服务端中的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
感谢您的关注。您可以使用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" );
....
}