Я пользуюсь VS2008, .net 3.5.
Существует внешний веб-сервис (это реализация PHP, но не против реализации -.net, java, php, ...-).
В моем проекте csproj я хочу добавить ссылку на службу в WebService и хочу использовать WCF.
Когда я добавляю ссылку на службу в VS2008, создается прокси WCF.
Какие-либо передовые практики (шаблоны и практики) для добавления ссылки на службу (внешняя служба)?
Генератор прокси WCF (я думаю, что та же команда svcutil) генерирует исходный код, подобный этому. Возможно, будет интересно управлять сгенерированным кодом (ServiceContractAttribute Namespace = "http://192.168.50.63/WebService" использовать IP-адрес, а OperationContractAttribute (Action =" http://devservername/webservice/SmoBridge.php/login" использовать имя_сервера).
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://192.168.50.63/WebService", ConfigurationName="ServiceEasyVista.WebServicePortType")]
public interface WebServicePortType {
[System.ServiceModel.OperationContractAttribute(Action="http://devservername/webservice/SmoBridge.php/login", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute(Style=System.ServiceModel.OperationFormatStyle.Rpc, Use=System.ServiceModel.OperationFormatUse.Encoded)]
[return: System.ServiceModel.MessageParameterAttribute(Name="return")]
string login(string SESSION_ID, [System.ServiceModel.MessageParameterAttribute(Name="LOGIN")] string LOGIN1, string PASSWORD, string COMPANY_ACCOUNT);
Обновление:
рекомендации Эрвина по правильному закрытию неисправного канала WCF.
http://bloggingabout.net/blogs/erwyn/archive/2006/12/09/WCF-Service-Proxy-Helper.aspx
Почему ClientBase Dispose должен выдавать сбойное состояние? (Или какая разница между закрытием и прерыванием?)
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/b95b91c7-d498-446c-b38f-ef132989c154/