WPF アプリケーションがあり、起動時に「ログイン」ウィンドウを表示し、ユーザーから渡された資格情報を使用して WCF サービスに接続する必要があります。
質問は - 実際の「client.Open()」はどこで発生しますか?
ViewModel またはモデルで?
別のクラスで発生する必要があると思いますが、ViewModel またはモデルによって呼び出される必要があります。
どちらですか ?
こんにちははい、あなたの質問を完全に誤解していました。申し訳ありません。ユーザーがUIのログインボタンをクリックすると、それに対応してそのボタンのコマンドが起動され、ログイン用のViewModelメソッドが呼び出され、そのメソッドがさらにクライアントサイドサービスクラス(モデル)メソッドを呼び出し、さらにサーバーサイドサービスクラスメソッドを呼び出し、さらにBLLメソッドを呼び出しますさらに Login の Repository メソッドを呼び出します。チェーンは View=> VM => ClientSideService=>ServerSideService=>BLL=>Repository のようなものです。ただし、ServerSide Service を ViewModel から直接呼び出したい、または呼び出すことができる場合は、ClientSide Service をスキップできます。モデルと呼ばれていることです。これが役立つことを願っています
こんにちは、私があなたの質問を誤解していなければ、次のように行うことができます
public partial class App : Application
{
void App_Startup(object sender, StartupEventArgs e)
{
// Application is running
// Process command line args
bool startMinimized = false;
for (int i = 0; i != e.Args.Length; ++i)
{
if (e.Args[i] == "/StartMinimized")
{
startMinimized = true;
}
}
// Create main application window, starting minimized if specified
MainWindow mainWindow = new MainWindow();
if (startMinimized)
{
mainWindow.WindowState = WindowState.Minimized;
}
mainWindow.Show();
}
}
およびアプリケーションの xaml bind StartUp イベントで
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SDKSample.App " Startup="App_Startup" />
これはすべて App クラスで行われます。最初に Main メソッドが呼び出され、次に App クラスのインスタンスが作成され、次に Run メソッド off App が呼び出され、この Run メソッドが Application_Startup イベントを発生させます。