8

アプリケーションに埋め込まれたレポートサーバーのWebリファレンスがあります。ただし、レポートが存在するサーバーは変更される可能性があるため、必要に応じて「オンザフライ」で変更できるようにしたいと思います。

私は以前にこれを行ったことがあることを知っていますが、その方法を思い出せないようです。ご協力いただきありがとうございます。

とりあえず手動で運転してきました。コードにURLを設定することは大したことではありませんが、VS2008でこれを行う「適切な」方法を理解したいと思います。誰かがさらなる洞察を提供できますか?ありがとう!


VS2008で、URL BehaviorプロパティをDynamicに変更すると、Referenceクラスで自動生成された次のコードが取得されます。

web.configでこの設定(MySettings)を上書きできますか?設定がどのように機能するのかわかりません。

Public Sub New()
    MyBase.New
    Me.Url = Global.My.MySettings.Default.Namespace_Reference_ServiceName
    If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
        Me.UseDefaultCredentials = true
        Me.useDefaultCredentialsSetExplicitly = false
    Else
        Me.useDefaultCredentialsSetExplicitly = true
    End If
End Sub

編集

したがって、これはVS03(おそらく、これを行うために使用した最後のVSバージョンでした)以降、少し変更されています。

http://msdn.microsoft.com/en-us/library/a65txexh.a​​spxによると、プログラムでプロパティを設定できる設定オブジェクトがあるようですが、取得するロジックを提供する必要があります。 web.configからのそのURL。

これはVS2008でこれを行うための新しい標準的な方法ですか、それとも何かが足りませんか?

編集#2

誰かここに何かアイデアがありますか?私は自分のアプリケーションでそれを運転し、自分でweb.configにURLを入れて、それを読み上げました。しかし、それでも何かが足りないように感じるので、私はそれに満足していません。

4

2 に答える 2

3

プロパティウィンドウで、「動作」を動的に変更します。

参照: http: //www.codeproject.com/KB/XML/wsdldynamicurl.aspx

于 2008-08-07T19:22:25.983 に答える
0

VS2005の「Webリファレンス」を意味する場合、生成されたプロキシクラスには、そのサービスのSOAPエンドポイントURLであるURLプロパティがあります。このプロパティを変更して、後続のhttp通信をその新しいエンドポイントに対して行うことができます。

編集:ああ、bcaff86に感謝します。プロパティを変更するだけでそれができるとは知りませんでした。

于 2008-08-07T19:22:36.123 に答える