我在visual studio 2012环境中成功运行了一个wcf Web服务,唯一的工作就是将文件从一台服务器复制到另一台服务器。 我的项目包含一个位于PC上的控制台应用程序,它将调用服务器A上的wcf Web服务。执行此wcf服务时,会将文件从服务器B复制到服务器C. 我的问题是我收到一条错误消息,表明webservice没有对服务器B& C。 我查看过这个主题的所有链接,并且整个星期都尝试了不同的东西。
如果控制台应用程序或wcf服务上有任何内容,任何人都可以帮助我所需要的,以确保我拥有服务器B&服务器C? 控制台应用程序上的代码如下所示:wcf服务代码如下:
Imports System.IO
Imports System.Configuration
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Text
Imports SysSvcmod = System.ServiceModel.Description
Module Module1
Sub Main()
Try
Dim client As New ServiceReference1.ServiceClient
Dim clientCredentials As New SysSvcmod.ClientCredentials()
clientCredentials.UserName.UserName = ConfigurationManager.AppSettings("user").ToString
clientCredentials.UserName.Password = ConfigurationManager.AppSettings("pswd").ToString
client.ChannelFactory.Endpoint.Behaviors.RemoveAt(1)
client.ChannelFactory.Endpoint.Behaviors.Add(clientCredentials)
Dim returnstring As String
returnstring = client.movefiles("")
Catch ex As Exception
' MsgBox(ex.Message.ToString)
LogExceptions("module1", "page_load", ex.Message)
End Try
End Sub
wcf服务配置文件
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ExceptionFiles" value="C:\websites\bcccis\Exceptions\"/>
</appSettings>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
<pages>
<namespaces>
<add namespace="System.Runtime.Serialization"/>
<add namespace="System.ServiceModel"/>
<add namespace="System.ServiceModel.Web"/>
</namespaces>
</pages>
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpEndpointBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>