.net の WCF プロジェクトとして、C# 言語で記述されたサービスを呼び出そうとしています。ホストの IP は時々刻々と変化します。クライアント アプリケーションをコンパイルせずに後で変更できるように、設計時にクライアントにサービス参照を追加せずにサービスを呼び出す必要があります。コード プロジェクトからこの記事を見つけましたが、クライアントを公開するときに、URL を変更するための構成ファイルがありません。クライアント アプリケーションを再コンパイルせずに、実行時に Web サービスの URL を変更する方法を教えてください。よろしくお願いします。
質問する
2028 次
3 に答える
0
ここに作業コピーがあります。私にとっては正常に動作し、リストを返します
private List<MyClass> GetAllSiteDetailsJSON(string language)
{
Uri address =
new Uri(@"http://weburlpath/MyService/MyService.svc/GetAllList/"
+ language);
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string jSon = reader.ReadToEnd();
reader.Close();
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
List<MyClass> result = jsSerializer.Deserialize<List<MyClass>>(jSon);
return result;
}
}
そして、ここにクラスがあります
public class MyClass
{
public string ID { get; set; }
public string Name { get; set; }
public List<Location> Locations { get; set; }
}
public class Location
{
public string Region { get; set; }
public string Country { get; set; }
}
于 2014-12-24T09:16:21.227 に答える
0
Grant が上で述べたように、サービス コントラクトが変更されない限り、アプリケーション自体を再コンパイルせずにエンドポイント アドレスを変更できます。
ソリューション エクスプローラーで App.config というファイルを確認します。(何らかの種類の Web アプリを作成している場合は、Web.config と呼ばれる場合があります。)
于 2013-06-28T04:36:58.027 に答える