2

Windows 8には2つのWinRTアプリケーション(重要な場合はC#/ Xaml)があります。最初のアプリはデータを送受信して2番目のアプリに送信する必要があります。それを行うための最良の方法は何ですか?WCFは使用できますか?

編集:最初のアプリは2番目のアプリについて知っています。実際、2番目のアプリは認証サーバーであり、トークンを取得するためのメソッドを1つだけ提供します。

4

4 に答える 4

2

不可能です。これにはループバックのサポートが必要です。テストのためにのみオンにできるものは、ユーザーのマシンに依存することはできません。CheckNetIsolation.exeユーティリティを使用して有効にすることができます。MSDNの記事はこちらです。

テストのみに重点を置いており、このようなアプリを出荷することはできません。認証サーバーは別のマシンで実行する必要があります。とにかく、同じマシンで実行すると危険にさらされる可能性を考えると、かなり重要です。

于 2012-06-22T14:03:13.273 に答える
1

全体像がわからないため、WinRTなどのUI中心のアプリケーションモデルで認証サーバーを実行することは、かなり奇妙な設計上の決定のように思われます。「クラウド」ベースのサービスとは言えませんか?とにかく、そこにあるすべてのデバイスにそのサーバーのコードを配布する必要がないことを望んでいます。

そうは言っても、カスタム共有契約ソリューションを見てみましょう。基本的に、認証要求をDataRequestとして送信し、「サーバー」にDataResponseで応答させることができるはずです。

code.msdn.comには2つのサンプルアプリがあります。

于 2012-06-22T13:49:55.683 に答える
0

私が偶然見つけたものの1つは、Windows.Networking.BackgroundTransferです。

基本的にこの記事からの引用:バックグラウンドでのデータの転送(C#/ VB / C ++およびXAMLを使用するWindowsストアアプリ)

しかし、私は実際には、穴の記事とバックグラウンドタスクの概念を理解していません。多分誰かがこれについてコメントすることができますか?

于 2012-10-02T06:38:33.273 に答える
0

回答されているかどうかはわかりませんが、LaunchFileAsyncを使用してこれを行うことが可能であることがわかりました。例は次のとおりです。//アプリを起動するにはvarlaunchFileName= "june.kit";

            var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
            var option = Windows.Storage.CreationCollisionOption.ReplaceExisting;

            // create file 
            var launchFile = await folder.CreateFileAsync(launchFileName, option);

            // write content
            await Windows.Storage.FileIO.WriteTextAsync(launchFile, tempChk);

            // launch file
            bool success = await Launcher.LaunchFileAsync(launchFile);

launchFileNameは、任意の拡張子を持つ任意の名前を持つことができ、この拡張子は、packager.manifestファイルの呼び出し元アプリケーションのFileTypeAssociationに記載されている必要があります。

于 2013-03-07T19:02:02.913 に答える