C# 创建页面的新实例并获取URL

C# 创建页面的新实例并获取URL,c#,asp.net,silverlight,web-services,C#,Asp.net,Silverlight,Web Services,我是一个网络程序员初学者。我主要编写桌面应用程序。 现在,我已经在Silverlight中创建了这个web应用程序,它使用我自己的web服务来查询数据库。问题是,应用程序的功能之一是能够打开PDF文件。我知道silverlight不允许您这样做,但使用silverlight应用程序顶部的IFrame,您可以显示带有de pdf文件的页面(使用acrobat插件)。 问题是,我的silverlight应用程序将pdf路径传递给web服务,作为回报,web服务将创建一个新页面,并将新页面URI传递回

我是一个网络程序员初学者。我主要编写桌面应用程序。 现在,我已经在Silverlight中创建了这个web应用程序,它使用我自己的web服务来查询数据库。问题是,应用程序的功能之一是能够打开PDF文件。我知道silverlight不允许您这样做,但使用silverlight应用程序顶部的IFrame,您可以显示带有de pdf文件的页面(使用acrobat插件)。 问题是,我的silverlight应用程序将pdf路径传递给web服务,作为回报,web服务将创建一个新页面,并将新页面URI传递回,以便它可以显示在IFrame上:

页面代码:

public partial class PDFViewer : System.Web.UI.Page
{
    string Filename = string.Empty;

    public Uri Uri
    {
        get { return HttpContext.Current.Request.Url; }
    }

    public PDFViewer(string filename)
    {
        Filename = filename;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "Application/pdf";

        Response.WriteFile(Filename); //Write the file directly to the HTTP content output stream.

        Response.End();
    }
}
WebMethod代码:

    [WebMethod]
    public string GetReport(string filename)
    {
        PDFViewer viewer = new PDFViewer(filename);

        return viewer.Uri.AbsoluteUri;
    }
这只返回Web服务URL。 因此,主要的问题是:如何创建页面实例并获取该页面URL

解决方法可能是:

“在我的Silverlight应用程序中,我通过传入查询字符串my id和处理它的页面来打开一个新的web浏览器,查询数据库,检索所选对象并使用响应方法进行渲染。”

我只是不知道怎么做

非常感谢您的帮助

佩德罗

也许这会有帮助

在嵌入silverlight对象的任何位置放置一个id为=“xContainer”的iframe

从silverlight代码中,只需将其scr设置为您试图显示的pdf

HtmlPage.Document.GetElementById("xContainer").SetProperty("src", "http://google.com");
也许这会有帮助

在嵌入silverlight对象的任何位置放置一个id为=“xContainer”的iframe

从silverlight代码中,只需将其scr设置为您试图显示的pdf

HtmlPage.Document.GetElementById("xContainer").SetProperty("src", "http://google.com");

谢谢你的帮助,但我想这不能解决我的问题。pdf文件存储在本地服务器中,但未与应用程序一起部署。由于web服务位于服务器计算机中,因此它可以访问给定目录中的文件(例如c:\\test.pdf)。这就是为什么我创建了一个PDFViewer页面并将其传递到pdf路径。现在,我如何访问页面URL,以便我的silverlight客户端将其加载到iframe中?提前谢谢谢谢你的帮助,但我认为这不能解决我的问题。pdf文件存储在本地服务器中,但未与应用程序一起部署。由于web服务位于服务器计算机中,因此它可以访问给定目录中的文件(例如c:\\test.pdf)。这就是为什么我创建了一个PDFViewer页面并将其传递到pdf路径。现在,我如何访问页面URL,以便我的silverlight客户端将其加载到iframe中?提前谢谢