7

さまざまな Web サイトに簡単にデプロイできる Silverlight アプリを作成しています。アプリケーション内から、Silverlight がホストされているドメイン/ホストにアクセスする必要があります。したがって、ブラウザー ウィンドウ内のアプリの場合、このコードは完全に機能することがわかっています。

HtmlPage.Document.DocumentUri.Host;

問題は、このアプリをインストールして、ブラウザ外モードでも実行する必要があることです。ただし、OOB モードで同じコードを呼び出すと、例外が発生します。これは、SL がブラウザーで実行されていないため、まったく正常です。しかし、論理的には、SL アプリはどこかからインストールされており、その「元の」URL にアクセスする必要があります (または、少なくとも、このプロジェクトでは元のホストで十分です)。簡単に言えば、アプリが http://example.com/example.xap からインストールされている場合、文字列 " http://example.com/example.xapにアクセスするにはどうすればよいですかアプリはモジュール化され、任意のドメインに展開されるため、事前にこれを知ることはできません。分離ストレージに設定ファイルを作成し、唯一のオプションが設定されていない場合はドメイン文字列を設定しています。それとももっと簡単な方法がありますか?

ありがとう、カン。

4

2 に答える 2

12

を使用してアドレスを取得できます(OOBでも)Application.Current.Host.Source

于 2011-06-23T12:50:38.297 に答える
0

BaseAddressXapのアドレスは、の新しいインスタンスのから取得できますWebClient

 WebClient client = new WebClient();
 string xapAddress = client.BaseAddress;

BaseAddressアプリケーションの発信元アドレスで初期化され、OOBで機能します。

于 2011-06-23T07:16:35.593 に答える