webservice 调用时类出错,如何书写类

CIOSOFT 2013-07-18 12:19:14
我有一个运行良好的解决方案,这个方案下的程序运行正常。
我在这个方案下创建了webservice,在webservice里引用这个项目里的方法。在测试webservice的时候会报如下错误:

ystem.Exception: 系统提示错误:ConnectionString 属性尚未初始化。
在 Tool.SQLHelper.ExecuteNonQuery(String ConnectionString, String Database, CommandType CommandType, Int32 CommandTimeout, String SqlText, SqlParameter[] SqlParms) 位置 e:\Tool\SQLHelper.cs:行号 283
在 DAL.SortDAL.Delete(Int32 ID) 位置 e:\DAL\SortDAL.cs:行号 166
在 BLL.Sort.Delete(Int32 ID) 位置 e:\BLL\Sort.cs:行号 75
在 WebService.Service1.GetDel(Int32 id) 位置 e:\WebService\Service1.asmx.cs:行号 31

请问:上述是什么原因导致的;还有为webservice提供类需要注意些什么。最好有参考资料。
...全文
190 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CIOSOFT 2013-07-18
  • 打赏
  • 举报
回复
独立运行的时候,类没有问题 就是在webservice里调用类,发生问题
ztszhq 2013-07-18
  • 打赏
  • 举报
回复
SQLHelper.ExecuteNonQuery(this.ConnectionString, 调试下 this.ConnectionString有值 不
CIOSOFT 2013-07-18
  • 打赏
  • 举报
回复
[WebMethod(Description = "删除")] public bool GetDel(int id) { return Sort.Delete(id); } bll /// <summary> /// 删除一条数据 /// </summary> public bool Delete(int ID) { return dal.Delete(ID); } dal /// <summary> /// 删除一条记录 /// </summary> public bool Delete(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from Sort"); strSql.Append(" where SortCode=@SortCode"); SqlParameter[] parameters = { new SqlParameter("@SortCode", SqlDbType.Int,4) }; parameters[0].Value = ID; object obj = SQLHelper.ExecuteNonQuery(this.ConnectionString, this.Database, CommandType.Text, this.CommandTimeout, strSql.ToString(), parameters); return Convert.ToInt32(obj) > 0; } SQLHelper: public static int ExecuteNonQuery(string ConnectionString, string Database, CommandType CommandType, int CommandTimeout, string SqlText, params SqlParameter[] SqlParms) { SqlCommand dc = new SqlCommand(); using (SqlConnection conn = new SqlConnection(ConnectionString)) { try { PrepareCommand(dc, conn, Database, CommandType, CommandTimeout, null, SqlText, SqlParms); //执行命令 int result = dc.ExecuteNonQuery(); return result; } catch (Exception ex) { if (Config.IsDebug) { throw ex; } StringBuilder sb = new StringBuilder(); sb.Append(ex.ToString()); sb.Append("\r\n"); sb.Append("ConnectionString: "); sb.Append(ConnectionString); sb.Append("\r\n"); sb.Append("Database: "); sb.Append(Database); sb.Append("\r\n"); sb.Append("CommandType: "); sb.Append(CommandType.ToString()); sb.Append("\r\n"); sb.Append("CommandTimeout: "); sb.Append(dc.CommandTimeout.ToString()); sb.Append("\r\n"); sb.Append("CommandText: "); sb.Append(dc.CommandText); sb.Append("\r\n"); if (SqlParms != null && SqlParms.Length > 0) { sb.Append("SqlParameters: "); sb.Append("\r\n"); foreach (SqlParameter parm in SqlParms) { sb.Append(parm.ParameterName); sb.Append("="); sb.Append(Convert.ToString(parm.Value)); sb.Append("\r\n"); } sb.Append("\r\n"); } //throw new DBException(sb.ToString()); throw new Exception("系统提示错误:" + ex.Message); } } }
ztszhq 2013-07-18
  • 打赏
  • 举报
回复
引用 楼主 CIOSOFT 的回复:
我有一个运行良好的解决方案,这个方案下的程序运行正常。 我在这个方案下创建了webservice,在webservice里引用这个项目里的方法。在测试webservice的时候会报如下错误: ystem.Exception: 系统提示错误:ConnectionString 属性尚未初始化。 在 Tool.SQLHelper.ExecuteNonQuery(String ConnectionString, String Database, CommandType CommandType, Int32 CommandTimeout, String SqlText, SqlParameter[] SqlParms) 位置 e:\Tool\SQLHelper.cs:行号 283 在 DAL.SortDAL.Delete(Int32 ID) 位置 e:\DAL\SortDAL.cs:行号 166 在 BLL.Sort.Delete(Int32 ID) 位置 e:\BLL\Sort.cs:行号 75 在 WebService.Service1.GetDel(Int32 id) 位置 e:\WebService\Service1.asmx.cs:行号 31 请问:上述是什么原因导致的;还有为webservice提供类需要注意些什么。最好有参考资料。
上点代码吧楼主。。
ztszhq 2013-07-18
  • 打赏
  • 举报
回复
引用 6 楼 CIOSOFT 的回复:
已经搞定,service的webconfig未配置数据库连接地址
所以让你确定 this.ConnectionString是否有值啊
CIOSOFT 2013-07-18
  • 打赏
  • 举报
回复
已经搞定,service的webconfig未配置数据库连接地址
CIOSOFT 2013-07-18
  • 打赏
  • 举报
回复
请高人指点!

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧