WCFの移行先技術について

東原 正治 20 評価のポイント
2024-11-22T07:35:23.1533333+00:00

質問

WCFについてCoreWCFやgRPC等が移行先として挙げられていますが

VB.NETを使用しているシステムの場合のWCFの移行先として使用できる技術は何がありますか。

利用システムのバージョン

Windows Form:VB.NET(.NET Framework2.0)

WCF:asmxにてWindows FormのWEBサービスとして利用(.NET Framework2.0)

背景

.NET Frameworkのサポート期限が切れており、最新のフレームワークへ移行を行おうと.NETへVisual Studioを使用してアップグレードを行っていたのですが、WCFとWCFで自動作成されたReference.vbが.NETではサービス提供されていない為、アップグレードできない。

CoreWCF、gRPCへの移行を行おうとしたが、使用言語がVB.NETではプロジェクト作成等もできない為、既存のWindows Formでの利用ができない為、他の手段が無いかのご質問になります。

.NET
.NET
.NET ソフトウェア フレームワークに基づく Microsoft テクノロジ。
72 件の質問
ASP.NET
ASP.NET
Web アプリケーションと XML Web サービスを構築するための Microsoft .NET Framework のテクノロジのセット。
9 件の質問
{count} 件の投票

承認済みの回答
  1. SurferOnWww 3,376 評価のポイント
    2024-11-23T05:03:18.6266667+00:00

    質問に対するコメントで聞いた件が不明なのでハズレがあるかもしれませんが、とりあえずレスを書いておきます。

    .NET Framework 2.0 のアプリを .NET 8.0 とか 9.0 で書き換えることを検討しているようですが、であれば、.NET ではなくて .NET Framework 4.8 にしてはいかがですか?

    そうすれば今抱えている問題・課題のほとんどすべては解決するはずです。

    サポート期間の長さを考えてのことのようですが、現在のところ LTS の最新版 .NET 8.0 より .NET Framework 4.8 の方が長いです。

    それより何より、Windows OS 上で動かす Windows Forms アプリを、特に理由がない限り、ターゲットフレームワーク .NET で作ることは考えない方が良いと思います。

    何故かと言うと、特定の OS に依存する機能は Visual Studio のテンプレートで作るプロジェクトには含まれてないとか(例: GDI+ に依存するグラフィックス機能、エンコーディングの Shift_JIS)、ReportViewer や Chart が使えないとか、データソース構成ウィザードが使えないとか乗り越えなければならない壁があるからです。

    上に述べたような壁を乗り越えるためのコストと、フレームワークを .NET にすることにより得られるメリットを比較してみてください。たぶん .NET で作る理由は無いはずです。

    VB.NETを使用しているシステムの場合のWCFの移行先として使用できる技術は何がありますか。

    どうしても .NET で作りたくて言語は VB.NET がマストということであれば、ASP.NET Core Web API を検討してはいかがですか?

    既存の WCF (Web サービス?) がどういうサービスを提供しているか明確にしてもらえると、別の案も出てくるかもしれませんが、今のところ思いつくのはそれぐらいです。

    WCFとWCFで自動作成されたReference.vbが.NETではサービス提供されていない為、アップグレードできない。

    Web / WCF サービスに接続して情報を取得する場合、Visual Studio の「サービス参照(S)...」を利用してアプリと Web / WCF サービス間のインターフェイスとなるプロキシクラスを生成するのですが、Reference.vb とはそのことを言っているんですよね?

    以下の画像は Visual Studio 2022 Version 17.12.1 で作成した .NET 8.0 の WinForms アプリのものです。「サービス参照(S)...」がメニューに出てきて、それから進めていけば作成できます。

    「サービス参照(S)...」メニュー*

    enter image description here

    サービス参照追加ダイアログ

    enter image description here

    生成されたプロキシクラス

    enter image description here

    1 人がこの回答が役に立ったと思いました。

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Deleted

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。

    2 件の削除されたコメント

    コメントはオフになっています。 詳細情報

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。