我知道您不能,也不能序列化SQL连接 . 但是我有一个问题,我们的 生产环境 和开发服务器上的相同代码占主导地位,而我们的 生产环境 Web服务工作正常,而我们的开发机器失败(以及我的本地开发机器) .

我得到的错误是这样的:

ExceptionDetail,可能由IncludeExceptionDetailInFaults = true创建,其值为:System.InvalidOperationException:在调用WSDL导出扩展时抛出异常:System.ServiceModel.Description.DataContractSerializerOperationBehavior contract:http://tempuri.org/: IWFHandlerService ----> System.Runtime.Serialization.InvalidDataContractException:类型'System.Data.SqlClient.SqlCredential'无法序列化 . 请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员 . 如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记 . 有关其他受支持的类型,请参阅Microsoft .NET Framework文档 . 在System.Runtime.Serialization.DataContract.DataContractCriticalHelper.ThrowInvalidDataContractException(String message,Type type)...

我的源代码中包含以下方法:

Public Function GetCentralConnection() As SqlClient.SqlConnection Implements IWFHandlerService.GetCentralConnection

    Dim conn As New SqlClient.SqlConnection(My.Settings.MDISCentralConnection)
    Return conn

End Function

当我从 生产环境 Web服务中查看WSDL时,我可以清楚地看到GetCentralConnection方法可供我使用 .

如果我们可以开始一个对话框来开始寻找解决方案可能是什么,但我最后的神经是为什么这个服务不能在不同的Web服务器上运行 .