1

我有运行良好的 ac#asp.net web 应用程序/项目。后来我向这个项目添加了一个 wcf 服务作为新项目。然后我向这个解决方案添加一个新的简单控制台应用程序来使用 wcf。它在我当地运行良好。(我的本地服务器名称是 A。使用 [http://A/MyProjName/wcfSendRpt.svc] 或 [http://localhost/MyProjName/wcfSendRpt.svc] 都可以)。然后我将我的 Web 应用程序(使用 wcf 服务)发布到实时服务器 B。(B 只托管这个唯一的 Web 应用程序。) [http://B/wcfSendRpt.svc] 或 [http://localhost/wcfSendRpt。 svc] 工作正常。然后我将控制台应用程序部署到服务器 B。(我只是将 exe 和配置文件复制到服务器 B)。我将配置文件中的端点地址从 [http://A/MyProjName/wcfSendRpt.svc] 更改为 [http://B/wcfSendRpt.svc],如下所示

<endpoint address="http://B/wcfSendRpt.svc" binding="basicHttpBinding" 
          bindingConfiguration="BasicHttpBinding_IwcfSendRpt"
          contract="nsSendRpt.IwcfSendRpt" name="BasicHttpBinding_IwcfSendRpt" /> 

但它不起作用。来自事件日志的错误如下:

Unhandled Exception: System.ServiceModel.FaultException`1[System.ServiceModel.Ex
ceptionDetail]: An error occurred while executing the command definition. See th
e inner exception for details.

Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message
 reply, MessageFault fault, String action, MessageVersion version, FaultConverte
r faultConverter)
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRunt
ime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean on
eway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan tim
eout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCall
Message methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at CAScheduledService.nsSendRpt.IwcfSendRpt.SendRpt(String statementdate)
   at CAScheduledService.Program.Main(String[] args)  

我的控制台应用程序非常简单:代码如下

class Program
    {
        static void Main(string[] args)
        {
            nsSendRpt.IwcfSendRptClient ss = new IwcfSendRptClient();
            string a = ss.SendRpt(System.DateTime.Now.ToString("yyyyMMdd"));
            ss.Close();
        }
    }

我需要你的帮助来解决这个问题。我在 wcf 中很新。我的 Web 应用程序中的这个 wcf 服务是否安静?

4

0 回答 0