views:

377

answers:

2

How does a Silverlight application ask the browser what domain its being served up from?

UPDATE: Make sure if your class doesn't already have this using statement add it at the top your class. This will help you on some of the examples you'll see online. It confused me for a bit.

  using System.Windows.Browser;
+5  A: 

How about HtmlDocument.DocumentUri? That'd get you what you need. Page about browser interop here.

jcollum
+3  A: 

As jcollum says you access the HtmlDocument.DocumentUri property to get lots of information on the host. To answer the question in your comment this is how you do this in Page.xaml.cs:

using System;
using System.Windows.Browser;
using System.Windows.Controls;

namespace SilverlightApplication1
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();

            string hostName = HtmlPage.Document.DocumentUri.Host;
            int port = HtmlPage.Document.DocumentUri.Port;
        }
    }
}
Peter McGrattan
+ 1.Thanks.Any thoughts on this older question:http://stackoverflow.com/questions/345758/ I don't seem to be able to do much via VS2008 with the Silverlight add-on or Blend 2. Im basically writing XAML by hand. Blend 2 doesn't even know what a <Button> is. I'd like to give answer points to someone.
tyndall
@Bruno Tyndall: See my answer to your older question at http://stackoverflow.com/questions/345758/
Peter McGrattan
+1 for providing code
jcollum