尝试从控制台应用程序调用Web应用程序中存在的函数时遇到问题。
我的解决方案有两个项目我的解决方案-Web项目-控制台项目
我的控制台应用程序的代码,该代码调用Web项目功能
namespace testConsoleApp
{
class mainClass
{
static void Main(string[] args)
{
Console.WriteLine("Hi");
try
{
outlookRoomBooking objOutlook = new outlookRoomBooking();
objOutlook.updateStatus();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("cron completed.");
Console.ReadKey();
}
}
}
我正在使用的Web项目代码
namespace LVIS.includes
{
public class outlookRoomBooking
{
private string user = ConfigurationManager.AppSettings["user"].ToString();
private string passowrd = ConfigurationManager.AppSettings["passowrd"].ToString();
//Some more codes here //
}
}
当我运行控制台应用程序时,当控件在Web应用程序中输入类时,即得到错误“对象引用未设置为对象的实例”,即第一行私有字符串user = ConfigurationManager.AppSettings [“ user”]。ToString() ;
我在控制台项目中添加了Web项目的web.config的链接参考。
从控制台应用程序调用时,类似乎无法访问ConfigurationManager.AppSettings。从同一个Web项目中调用该类时,效果很好。
当我运行控制台应用程序时,当控件在Web应用程序中输入类时,即得到错误“对象引用未设置为对象的实例”,即第一行私有字符串user = ConfigurationManager.AppSettings [“ user”]。ToString() ;
可能是因为<appSettings>
整个Web应用程序中的内容不存在于app.config
您的控制台应用程序中。
应用程序设置是从存在于应用程序基本目录中的应用程序配置文件(即web.config
或app.config
)加载的。在您的情况下,控制台应用程序的基本应用程序目录是可执行文件的位置。
TL; DR版本:将中的应用程序设置从复制并粘贴web.config
到控制台应用程序的中app.config
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句