問題タブ [webservicehost]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# - Visual Studio 2012 での WebServiceHost の問題
コマンド オブジェクトを受け取り、クライアントに応答を返すために WebServiceHost を使用しています。
オブジェクトのデータコントラクトがセットアップされており、クライアントは HttpWebRequest および HttpWebResponse オブジェクトを使用して実行されます。
これは、2 つのアプリケーション バージョンですべて正常に機能しており、Visual Studio 2012 がインストールされていないマシンでも正常に機能します。
Visual Studio 2012 をインストールしたテスト マシンを使用して、クライアントとサーバーのやり取りをデバッグし、同時に VS2012 を試してみました。VS2012 がインストールされるとすぐに、WebServiceHost が機能しなくなりました。VS2012 を搭載したマシンにコマンドを送信しようとした場合、またはクライアント自体が VS2012 上にある場合、クライアントは 404 エラーを受け取ります。同じエラーが発生します。これは、アプリケーションのデバッグ バージョン、リリース バージョン、ビルド バージョンで発生します。リリース済みで他のマシンで動作するバージョンを含みます。
問題を Visual Studio 2012 を搭載したマシンに絞り込んだら、いくつかの検索を行いましたが、役に立ちませんでした。そこで、Visual Studio 2012 をアンインストールしましたが、404 がまだ受信されています。.Net Framework 4.5 をアンインストールし、4.0 を再インストールしましたが、404 がまだ受信されています。アプリケーションをアンインストールして再インストールしましたが、404 がまだ受信されています。クライアントとサーバーの両方でファイアウォールが無効になっていることを確認しました。
おそらく、VS2012マシンがコマンドオブジェクトをxmlとの間でシリアル化および逆シリアル化できないことに関連していると思います。しかし、VS2012の依存関係がそれを台無しにする可能性があるのは、私が見つけられないようです。
テスト マシンのイメージを再作成する準備が整ったところですが、将来 Visual Studio 2012 を使用する場合には役に立ちません。
あなたが提供できる助けや指示をありがとう。
wcf - WCF Web サービスは、2 つのポート iisexpress でリッスンする必要があります。TCP エラー コード 10061
外部クライアントがリクエストを提供するために使用する wcf Web サービスがあります。この Web サービス (Web サービス) は、ビジネス ロジックが実装されている別の wcf サービス (エージェント) を呼び出します。
エージェントはデータベース内のアクティビティも監視し、要求された情報の準備が整うと (通常は数日後)、エージェントは要求されたデータを含むオブジェクトを生成します。Web サービスが XML を形成し、それをクライアントの Web サービスにポストする Web サービスにオブジェクトを渡す必要があります。
Web サービスは、クライアントが使用するインターフェイスとエージェントが使用するインターフェイスの 2 つの異なるインターフェイスを実装します。
問題は、ローカル マシンで、エージェントを Web サービスに接続して結果を送信できないことです。デバッグ目的で、Web サービスとエージェントの両方がローカル マシンで実行されています。VisualStudio2012 では、IISExpress を使用するように webservice プロジェクトが設定され、使用する特定のポートが定義されています。プロジェクト URL: https://local.someaddress.net:51448/ただし、エージェントが Web サービスへの接続を試みるために使用するポートは別のポートです。
Web サービスはエージェントを問題なく呼び出すことができますが、エージェントが Web サービスを呼び出そうとすると、tcp エラー コード 10061 が返されます。
私はすでに "appcmd.exe set app "Default Web Site/" /enabledProtocols:http,net.tcp" を試しました。
Web サービスが両方のポートを開くように IISExpress を構成することは可能ですか? それとも、私がここで見逃している明らかなものがありますか?
(構成ファイルには localhost へのリンクが含まれており、stackoverflow ではそれが許可されていないため、localhost を local.someaddress.net に置き換えました。)
Web サービスの web.config の内容は次のとおりです。
エージェントの app.config ファイルの内容は次のとおりです。
c# - WCF ServiceHosts、ServiceEndpoints、およびバインディング
私は現在、Windows サービス (IIS ではない) でいくつかの WCF REST サービスを実行していますWebServiceHost
。サービスごとに個別のインターフェイスとクラスを定義していますが、セルフホステッド ソリューションを作成するために一緒に使用する方法WebServiceHost
を理解するのに問題がServiceEndpoint
あります。ServiceContracts
私が現在設定している方法はWebServiceHost
、サービスを実装するクラスごとに新しいクラスを作成し、クラスの名前を URI の一部として使用し、残りの URI をインターフェイスで定義することです。
サービスを作成するコードは次のようになります。
これはうまく機能し、各サービスのサービス エンドポイントが適切な URL に作成されます。
http://XXX.YYY.ZZZ:portnum/Events/EventType
http://XXX.YYY.ZZZ:portnum/Events/Event
次に、別のサービス インターフェイスとサービス クラスについて繰り返します。Events
ただし、URLの を削除したいのですが、それをWebServiceHosts
行って同じベース URL で複数を作成すると、エラーが発生します。
The ChannelDispatcher at 'http://localhost:8085/' with contract(s) '"IOtherService"' is unable to open its IChannelListener
内部例外:
"A registration already exists for URI 'http://localhost:8085/'."
とがどのようWebServiceHost
に連携して ChannelListener を作成するかを理解しようとしています。ServiceEndpoint
ServiceContract
WebServiceHost
サービスを実装するクラスごとに個別に必要ですか? 複数のタイプを単一のタイプに登録する方法がわかりませんWebServiceHost
次に、インターフェイスを AddServceEndpoint メソッドに渡しています。メソッドがすべての OperationContract メンバーのオブジェクトをチェックして追加すると仮定します。問題は、どのクラスがどのインターフェイスにマップされるべきかを WebServiceHost がどのように認識するかです。
私が気に入っているのは、インターフェイスと実装クラスを分離しながら複数のサービスを実行する WCF 自己ホスト型サービスを作成する例です。
c# - IDisposable を実装する
私は次のクラスを持っています:
WebServiceHost
を実装IDisposable
していますが、メソッドはありませんDispose
。
実装方法を教えてくださいDispose()
。
c# - WebServiceHost BaseAddresses
次のクラスの場合:
初期化に使用した uri をトレースする必要があります。私はその方法を実装しました:
しかし、私は得る:
なにが問題ですか?
php - 座標で近くの場所を検索しますか?
モバイル開発者向けの Web サービスを作成しようとしています。
私は場所の座標のデータベースを持っています。座標を指定して、近くの座標の結果を返すにはどうすればよいですか? 半径100マイル以内としましょう。
何か案が?
android - モバイル Web ブラウザーから Web サービスにアクセスできない
私は Web サービスが初めてで、Web サービスからデータを送受信する Android アプリケーションを作成しています。Java を使用して Eclipse で REST Web サービスを作成しました。Tomcatサーバーを使用しました。ローカルホスト (Windows 10 OS を搭載した Dell ラップトップ) で Web サービスを実行しています。
Web サービスを実行してローカルホストでデータを提供すると、サービスは JSON データを正常に返しますが、スマートフォンのクロム ブラウザから同じサービスにアクセスしようとすると、ERR_CONNECTION_TIMED_OUT が表示されます。
注:両方のデバイスが同じネットワークに接続されています。(私は MTS blaze を使用しています)
今まで試したこと、
- ファイアウォール設定で ICMP を有効にしました
- ファイアウォールをオフにしました
- アンインストールされたマカフィー
しかし、成功しません。この問題を解決するためにさらに情報が必要な場合はお知らせください。
Edit1: localhost の URL: localhost:8080/Credentials/register/doregister?user=abc&pass=efg
スマートフォンからアクセスする場合のURL: 192.168.1.100/Credentials/register/doregister ?user=abc&pass=efg