Process.Start在WCF方法中

时间:2011-05-25 09:56:49

标签: wcf process

当我使用本地主机地址通过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()

有人能指出我正确的方向,我怎样才能让这个工作?

谢谢!

2 个答案:

答案 0 :(得分:0)

这可能是您客户端的配置 - 它与服务正在做什么无关。

检查客户端的配置文件,并验证它是否指定与服务相同的地址,绑定和合同。

答案 1 :(得分:0)

验证运行的服务标识是否具有执行Process.Start和访问C:/ Users / Administrator / Desktop / Batch /的正确权限。如果可能,请在计算机上以该用户身份登录并尝试,或者只查看需要哪些权限并授予该用户访问权限。如果您在IIS中托管它,请转到该Web应用程序,查看它正在运行的应用程序池,然后转到高级设置 - >身份。

相关问题