Reading a key from the Web.Config using ConfigurationManager
Try using the WebConfigurationManager class from the System.Web.Configuration
namespace instead. For example:
string userName = WebConfigurationManager.AppSettings["PFUserName"]
var url = ConfigurationManager.AppSettings["ServiceProviderUrl"];
If the caller is another project, you should write the config in caller project not the called one.