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