netMessagingBinding を使用して Service Bus エンドポイントに接続する際に、HTTP プロキシを構成する際のヘルプが必要です。プロキシ サーバー経由でインターネットにアクセスしています。Azure のワーカー ロールでホストされている WCF サービスに Service Bus エンドポイント経由で接続しようとすると、アプリケーションがリモート エンドポイントに接続できないという例外が発生します。インターネットに直接アクセスして同じことをすると、すべてが完全に機能します。
質問する
828 次
1 に答える
4
プロキシ サーバーは、プロキシの種類によっては注意が必要です。web.config/app.config の設定を変更して、プロキシ サポートを有効にしてみてください。
自動的に検出:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true" />
</system.net>
プロキシ URL を定義:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true" />
<proxy autoDetect="True" proxyaddress="http://..."/>
</defaultProxy>
</system.net>
カスタム資格情報:
<appSettings>
<add key="ProxyUser" value="" />
<add key="ProxyPassword" value="" />
<add key="ProxyDomain" value="" />
<add key="ProxyUrl" value="" />
</appSettings>
<system.net>
<defaultProxy enabled="true">
<module type="CustomProxyCredentials.ProxyBridge, CustomProxyCredentials"/>
</defaultProxy>
</system.net>
namespace CustomProxyCredentials
{
public class ProxyBridge : IWebProxy
{
public ICredentials Credentials
{
get { return new NetworkCredential(ConfigurationManager.AppSettings["ProxyUser"], ConfigurationManager.AppSettings["ProxyPassword"], ConfigurationManager.AppSettings["ProxyDomain"]); }
set { }
}
public Uri GetProxy(Uri destination)
{
return new Uri(ConfigurationManager.AppSettings["ProxyUrl"]);
}
public bool IsBypassed(Uri host)
{
return false;
}
}
}
接続モード:
Microsoft.ServiceBus.ServiceBusEnvironment.SystemConnectivity.Mode = Microsoft.ServiceBus.ConnectivityMode.Http;
とにかく、これが正しく機能するためには、構成が十分である必要があります。
于 2012-10-11T14:26:21.910 に答える