वहाँ बेहतर तरीके, जो मैं का उपयोग कर के लिए खुला रहा हूँ, लेकिन यह मेरे लिए काम करता हो सकता है और यह सुविधाजनक है।
अपने वेब एप्लिकेशन के वेब.कॉन्फिग में, ऐपसेटिंग में एक चर जोड़ें और बेस यूआरएल स्टोर करें, ध्यान दें कि मैं एसवीसी फ़ाइल का स्थान संग्रहीत नहीं कर रहा हूं, मैं इसे बाद में जोड़ूंगा। ऐसा इसलिए है क्योंकि मेरे पास एकाधिक एसवीसी है जो मैं आमतौर पर इंगित करता हूं। आप इसे अलग-अलग करना चुन सकते हैं।
<appSettings>
<add key="ServiceURI" value="http://localhost:64457/"/>
</appSettings>
मेरी वेब अनुप्रयोग के वेब पेज में, एक परम InitParms बुलाया जोड़ते हैं, यह आप कुंजी की सूची जोड़ने के लिए अनुमति देता है, इस जोड़ी मूल्यों (अल्पविराम से अलग है कि XAP फ़ाइल द्वारा पढ़ा जाएगा)
<div id="silverlightControlHost">
<object data="data:application/x-silverlight," type="application/x-silverlight-2"
width="100%" height="100%" ID="Xaml1" >
<param name="InitParams" value="ServiceURI=<%= ConfigurationManager.AppSettings("ServiceURI") %>" />
सिल्वरलाइट App.xaml.vb में, एक संसाधन में सभी InitParms लोड या जहां कभी आप चाहते हैं
Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
If e.InitParams IsNot Nothing Then
For Each k As Generic.KeyValuePair(Of String, String) In e.InitParams
Me.Resources.Add(k.Key, k.Value)
Next
End If
मेरी XAML फ़ाइलों में से किसी में
तब मैं कॉन्फ़िगर किया गया यूआरआई के साथ सेवा प्रारंभ कर सकते हैं, मैं कर रहा हूँ है इस
Private Sub InitializeService()
Dim uri As String = App.Current.Resources("ServiceURI")
If uri Is Nothing OrElse uri = String.Empty Then
'if there is no value added in the web.config, I can fallback to default values
_client = New ServiceClient
Else
'Notice I hardcoded the location of the SVC files in the client and append there here, you may choose not to do this
Dim uri_withservice As String = uri & "svc/secure/Service.svc"
_client = New ServiceClient("CustomBinding_Service", New EndpointAddress(uri_withservice))
End If
End Sub
यह समाधान सबसे अच्छा है जहां तक मेरा संबंध है। कोई अन्य हार्डकोडेड समाधान मेरे लिए काम नहीं करता है। – helios456