当我使用本地主机地址通过WCF测试客户端运行此代码时,它正在运行。
string batch = "C:/Users/Administrator/Desktop/Batch/tvPower.lnk";
Process.Start(batch);
return "done";
*我使用lnk(快捷方式链接)而不是bat,因为我需要在管理模式下运行命令,但我无法这样做。最近的解决方法是使用lnk。
但是当我尝试使用托管IP通过WCF测试客户端运行此代码时,它无效并返回以下错误。
“无法调用服务。可能的原因:服务脱机或无法访问;客户端配置与代理不匹配;现有代理无效。请参阅堆栈跟踪了解更多详细信息。您可以尝试通过启动新代理,恢复默认配置或刷新服务来恢复。“
以下是堆栈,
服务器堆栈跟踪:at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息 回复,MessageFault错误,字符串 动作,MessageVersion版本, FaultConverter faultConverter)at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.Call(字符串 动作,布尔单向, ProxyOperationRuntime操作, Object [] ins,Object [] outs,TimeSpan 超时)at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime 操作) System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即时聊天 消息)
在[0]处重新抛出异常:at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天 reqMsg,IMessage retMsg)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培; msgData,Int32类型)at Ix10Service.A1On()at Ix10ServiceClient.A1On()
有人能指出我正确的方向,我怎样才能让这个工作?
谢谢!
答案 0 :(得分:0)
这可能是您客户端的配置 - 它与服务正在做什么无关。
检查客户端的配置文件,并验证它是否指定与服务相同的地址,绑定和合同。
答案 1 :(得分:0)
验证运行的服务标识是否具有执行Process.Start和访问C:/ Users / Administrator / Desktop / Batch /的正确权限。如果可能,请在计算机上以该用户身份登录并尝试,或者只查看需要哪些权限并授予该用户访问权限。如果您在IIS中托管它,请转到该Web应用程序,查看它正在运行的应用程序池,然后转到高级设置 - >身份。