拥有silverlight应用程序,旨在为最终用户实现备份恢复机制。
我必须通过 ria services 获取位于 WebSite 项目中的特定目录中的文件列表。
通过使用哪个对象,我可以在 WebSite 项目的特定目录中列出文件。
感谢您的关注。
答案 0 :(得分:1)
您可以使用Directory类枚举服务器上的文件。在您的域服务中添加一个方法以将文件名列表返回给Silverlight客户端应该相当简单。
http://msdn.microsoft.com/en-us/library/system.io.directory(v=vs.100).aspx
答案 1 :(得分: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" );
....
}
祝你好运。