Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Silverlight找不到XML数据源_Asp.net Mvc_Silverlight - Fatal编程技术网

Asp.net mvc Silverlight找不到XML数据源

Asp.net mvc Silverlight找不到XML数据源,asp.net-mvc,silverlight,Asp.net Mvc,Silverlight,我对Silverlight开发非常陌生。我知道这是客户端技术,因此这种模式不同于传统的ASP.NET开发模式。话虽如此,我不明白我的服务器端代码部署在哪里 我有一个silver light\MVC应用程序。我正在尝试从“模型”文件夹中读取XML文档。以下代码是从与XML文档“Models”位于同一位置的类中执行的。load()导致SystemIOFileNotFound异常。我注意到,在构建应用程序时,XML文档与web项目的程序集不在同一位置。我假设这是一个特定的事实,这是一个Silverli

我对Silverlight开发非常陌生。我知道这是客户端技术,因此这种模式不同于传统的ASP.NET开发模式。话虽如此,我不明白我的服务器端代码部署在哪里

我有一个silver light\MVC应用程序。我正在尝试从“模型”文件夹中读取XML文档。以下代码是从与XML文档“Models”位于同一位置的类中执行的。load()导致SystemIOFileNotFound异常。我注意到,在构建应用程序时,XML文档与web项目的程序集不在同一位置。我假设这是一个特定的事实,这是一个Silverlight项目。有人能告诉我我错过了什么吗

  _xdoc = new XDocument();
   _xdoc = XDocument.Load(new Uri("videos.xml",UriKind.Relative).ToString());
编辑


我关注的行为是起始页(silverlight)通过服务器端控制器填充控件。ie localhost/video

Silverlight无法访问您的文件系统(谢天谢地),这就是您无法访问该文件的原因。尝试将其作为资源嵌入,或将其存储在silverlight提供的本地存储API中。

假设您的模型文件夹位于Web项目中(即不是silverlight项目),我认为您的问题与silverlight无关。 加载XML文件的代码假定该文件位于当前目录中,因此需要通过部署技术确保这一点


如果在Silverlight部件中执行此操作,则应将XML文件放入嵌入式资源中,并将其作为流(使用Assembly.GetManifestResourceStream获取)或资源(la WPF,而不是嵌入式资源)进行访问并使用包部件语法访问它。

问题是,我试图像在典型的ASP.net中一样访问此静态资源。但是,我发现有必要使用当前HTTPContext将路径映射到文件:

HttpContext.Current.Server.MapPath("~/App_Data/videos.xml");
因此,上述方法对我有效。由于这段代码在web项目中,而不是silverlight项目中,我仍然不清楚为什么不能使用相对路径访问此资源。此代码将在web服务器的上下文中执行。 i、 e


你说得对,它在我的网络项目中。但是,上面的代码似乎在我的c:\program files\Microsoft Visual中查找XML文档。。。。。。知道为什么吗?因为执行程序集不是。?!是因为您使用的是VS附带的Web开发服务器吗?是的。。我是。你能推荐一个好的Silverlight\MVC教程或文档吗?我相信我的应用程序的起始页面是Silverlight,当我尝试从此页面移动时,根上下文是不同的。意思uri是相对于我的silverlight应用程序而不是Web服务器的。一本好的silverlight教程是由Sams的L.Bugnon或Manning的silverlight编写的《silverlight 2释放》一书。我想我不明白你写的关于起始页的内容。您的应用程序是一个Web应用程序,因此起始页面是一个HTML或ASPX页面(来自Web项目),其中包含对Silverlight插件的引用,这将导致加载由SL项目创建的XAP文件。应用程序的每个部分(客户端上的SL,服务器上的ASP.NET)都有自己的“上下文”。
XDocument.load(../App_Data/videos.xml);