我正在为 silverlight 应用程序编写 WCF 服务。在 MainService 我想从配置文件中读取信息。所以我想使用 ConfigurationManager。我将 System.Configuration.dll 添加到项目编译和发布中。然后在调用 WCF 服务后出现错误,见下文。如果我不使用 ConfigurationManager(不引用 DLL)它正在工作。这是调用设置和存储设置的代码的一部分。
var connectionManagerDatabaseServers = ConfigurationManager.GetSection("ConnectionManagerDatabaseServers") as NameValueCollection;
string config = connectionManagerDatabaseServers["ConnectionString"];
<configSections>
<section name="ConnectionManagerDatabaseServers" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<ConnectionManagerDatabaseServers>
<add key="DatabaseType" value="1" />
<add key="ConnectionString" value="VALUE" />
</ConnectionManagerDatabaseServers>
服务器在处理请求时遇到错误。异常消息是“填充无效,无法删除。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:
在 System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) 在 System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[ ] inputBuffer, Int32 inputOffset, Int32 inputCount) at System.Security.Cryptography.CryptoStream.FlushFinalBlock() 在 System.Security.Cryptography.CryptoStream.Dispose(Boolean disposing) 在 System.IO.Stream.Close() 在 System.IO。 Stream.Dispose() at GX.Framework.Utils.Encryption.Decrypt(String encryptedText) at ServiceWCF.MainService..ctor() at CreateServiceWCF.MainService() at System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message ) 在 System.ServiceModel.Dispatcher.InstanceBehavior。GetInstance(InstanceContext instanceContext, Message request) at System.ServiceModel.InstanceContext.GetServiceInstance(Message message) at System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) 在 System .ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2 (MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher。System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) 处的 ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)