0

Silverlightアプリケーション用のWCFサービスを作成しています。MainServiceで、構成ファイルから情報を読み取りたい。そこで、ConfigurationManagerを使用したいと思います。System.Configuration.dllをプロジェクトのコンパイルと公開に追加しました。次に、WCFサービスの呼び出し後にエラーが発生します。以下を参照してください。ConfigurationManagerを使用しない(DLLを参照しない)場合、それは機能しています。これは、設定と保存された設定をconfigに呼び出すためのコードの一部です。

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)at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte [ ] inputBuffer、Int32 inputOffset、Int32 inputCount)at System.Security.Cryptography.CryptoStream.FlushFinalBlock()at System.Security.Cryptography.CryptoStream.Dispose(Boolean disposed)at System.IO.Stream.Close()atSystem.IO。 Stream.Dispose()at GX.Framework.Utils.Encryption.Decrypt(String cryptoText)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)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&rpc)at System .ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&rpc)at System.ServiceModel.Dis (MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)atSystem.ServiceModel.Dispatcher。System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)のImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)

4

2 に答える 2

0

Musketyr、設定ファイルはWeb.configという名前である必要があります

    <configuration>
      <appSettings>
        <add key="DatabaseType" value="1" />
        <add key="ConnectionString" value="VALUE" />
      </appSettings>
      ...


    try this
    [WebMethod]
    public string GetString()
    {
      return ConfigurationManager.AppSettings["ConnectionString"].ToString();
    }
于 2013-01-24T08:06:00.590 に答える
0

例外を解決しました!問題はサービスのコンストラクターにありました。コンストラクターで、1つのメソッドに誤りがありました。だから今、その動作。この間違いを公開して申し訳ありません。

于 2013-01-24T12:57:56.103 に答える