在卸载Windows应用程序期间调用webservice时,我收到错误
无法找到引用合同的端点元素 ServiceModel客户端配置中的ServiceReference2.IService1' 部分。这可能是因为找不到配置文件 您的应用程序,或者因为没有匹配此名称的端点元素 可以在客户端元素中找到。
我正在使用安装程序类,我在其中调用webservice客户端。以下是installer.cs的代码
源代码:
namespace webMiner
{
[RunInstaller(true)]
public partial class demoInstaller : Installer
{
SqlConnection conn = new SqlConnection("Data Source=servername;Initial Catalog=comp;User Id=abc;Password=******;");
public demoInstaller():base()
{
InitializeComponent();
AfterUninstall += new InstallEventHandler(AfterUninstallEventHandler);
}
public override void Uninstall(System.Collections.IDictionary savedState)
{
base.Uninstall(savedState);
Int32 flag = -1;
string keyName = "";
RegistryKey regeditkey = Registry.CurrentUser.OpenSubKey("sevenuser", RegistryKeyPermissionCheck.ReadWriteSubTree);
keyName = regeditkey.GetValue("currentuser").ToString();
webMiner.ServiceReference2.Service1Client sc = new webMiner.ServiceReference2.Service1Client();
flag = sc.unInstallOperation(keyName);
}
}
}
其中unInstallOperation()将调用包含帐户更新的webservice操作。
如何解决这个问题? 真正用这个问题补充
当我从另一个页面或另一个类文件中调用serviceclient时,我没有问题,当我在卸载应用程序时,即在安装程序类中调用时,它会给我带来问题。这是我使用的app.config客户端配置代码
源代码:
<client>
<endpoint address="http://companyfind.info/RegWcfService/Service1.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
contract="IService1" name="BasicHttpBinding_IService1" />
</client>
是否需要在web服务的web.config文件中添加它?
答案 0 :(得分:4)
在安装Service1Client
时,可能需要使用端点的名称var sc = new webMiner.ServiceReference2.Service1Client("BasicHttpBinding_IService1");
或者,就像我的情况一样,你在解决方案的另一个项目中有另一个类和两个app.config类。因此,您需要在主app.config中复制/粘贴设计点和绑定。
答案 1 :(得分:0)
尝试更新服务引用,并检查客户端配置是否在启动项目配置文件中。