ホームページ >バックエンド開発 >PHPチュートリアル >Webサービスのポート番号の変更

Webサービスのポート番号の変更

WBOY
WBOYオリジナル
2016-08-08 09:28:251720ブラウズ

C# で Web サービス インターフェイスを使用する場合、サーバーに返される IP アドレスにはポート番号が伴います。ただし、場合によってはそのポートが使用できない場合(転送にnginxを使用する場合など)、サーバー側で処理する必要があります(処理内容は以下のコードです)。さらに、構成ファイルの web.config の system.web に何かを追加する必要があります:

<webServices>

<protocols>

<追加 name="HttpGet"/>

<add name="HttpPost"/>

<add 名前="HttpSoap"/>

プロトコル>

<soapExtensionReflectorTypes>

追加 type="CommMethod.OuterPortReflector,CommMethod"/>

soapExtensionReflectorTypes& gt;

ウェブサービス >

注: 1. type の内容はクラス名とパッケージ名です。これは、msdn の人が書いたこととは多少異なります (バージョンの問題である可能性があります) (http://blogs.msdn.com/b/kaevans/archive/2005/11/16/493496.aspx)。

2. プロトコルにコンテンツがない場合、post リクエストと get リクエストが正しく認識されない可能性があります (私は検証していませんが、ブログで同様の問題を見たことがあります)。

3.stackoverflow ソース アドレス: http://stackoverflow.com/questions/1531448/asp-net-web-service-changes-port-on-invoke


コード:

//---- -------------------------------------------------- ------------------
//
// * Copyright (C)
// * バージョン:
// * 著者 : ying83811
// * ファイル名 : innerPortReflector.cs
// * 履歴 : ying83811 によって作成されました
//

//------------- -------------------------------------------------- -------
System を使用;
System.Collections.Generic を使用;
System.Linq を使用;
System.Text を使用;
System.Web.Services.Description を使用;
名前空間 Better517Na.KoreaProductInterface.CommMethod
{
///


ReflectMethod を書き換える
/ //
;
public override void ReflectDescription()

。 foreach ( design.services の Service
{
FORTACH (service.ports のポート port) {
Foreach (serviceACH Ions)
{o SOAPADDDRESSBINDING BINDING = SOAPADDRSSSBIDING としての拡張;
if (null! = バインディング)
{ binding.location = binding.location.replace(portnum、string.empty);
}

上記では、WebService のポート番号の変更を、関連する側面も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。