【发布时间】:2012-02-28 19:30:59
【问题描述】:
当我运行我的网络服务时,我想询问网络服务 我调试的时候没有报错,但是运行的时候, 我的浏览器出现此错误:
Server Error in '/' Application.
Cannot serialize member System.Web.UI.Control.Site of type System.ComponentModel.ISite because it is an interface.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
我已经谷歌了,但我没有得到我的答案。即使我使用了另一个 System.Web.UI,它仍然一样 请有人帮助我
无论如何,这是我的网络服务代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace Rabbitry
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class KaryawanWS : System.Web.Services.WebService
{
public RabbitryDB _db = new RabbitryDB();
[WebMethod] // get all employee data
public Karyawan[] GetAllKaryawan()
{
return _db.Karyawans.ToArray();
}
[WebMethod] //get employee data by ID
public Karyawan GetKaryawanByID(string NIK)
{
return _db.Karyawans.FirstOrDefault(x => x.NIK == NIK);
}
[WebMethod] // inserting new employee
public void TambahKaryawan(string NIK, string ktpKaryawan, string namaKaryawan, string alamatKaryawan,
string telpKaryawan, string hpKaryawan, string joinKaryawan, string statusKaryawan,
string pwd, string role)
{
DateTime join;
bool rol, status;
DateTime.TryParse(joinKaryawan, out join);
bool.TryParse(role, out rol);
bool.TryParse(statusKaryawan, out status);
Karyawan k = new Karyawan
{
NIK = NIK,
ktpKaryawan = ktpKaryawan,
namaKaryawan = namaKaryawan,
alamatKaryawan = alamatKaryawan,
telpKaryawan = telpKaryawan,
hpKaryawan = hpKaryawan,
joinKaryawan = join,
statusKaryawan = status
};
Login l = new Login
{
NIK = NIK,
Password = pwd,
role = rol
};
_db.Karyawans.InsertOnSubmit(k);
_db.Logins.InsertOnSubmit(l);
_db.SubmitChanges();
}
[WebMethod] //edit employee data
public void EditKaryawan(string NIK, string alamatKaryawan,
string telpKaryawan, string hpKaryawan, string statusKaryawan)
{
bool status;
bool.TryParse(statusKaryawan, out status);
Karyawan k = _db.Karyawans.FirstOrDefault(x => x.NIK == NIK);
if (k != null)
{
k.alamatKaryawan = alamatKaryawan;
k.telpKaryawan = telpKaryawan;
k.hpKaryawan = hpKaryawan;
k.statusKaryawan = status;
_db.SubmitChanges();
}
}
[WebMethod] //deleting emplyee data
public void HapusKaryawan(string NIK)
{
Karyawan k = _db.Karyawans.FirstOrDefault(x => x.NIK == NIK);
Login l = _db.Logins.FirstOrDefault(x => x.NIK == NIK);
if (k != null)
{
_db.Logins.DeleteOnSubmit(l);
_db.Karyawans.DeleteOnSubmit(k);
_db.SubmitChanges();
}
}
}
}
【问题讨论】:
-
请删除所有该代码并仅用重现问题所需的代码替换它。
-
完成...我想也许您需要代码,所以我将其全部复制..
-
不可能我正在阅读所有这些内容。请尝试缩小问题范围。不要只是发布您的整个申请,然后期望有人为您解决所有问题。
-
好吧,我只是为我的应用程序创建了一个 Web 服务,然后我就成功了。当我想测试网络服务时,通常它在浏览器中运行,我可以测试它。我已经尝试创建一个新的 WS 并且很好,没有问题。我想问的是,为什么我会得到错误代码,因为当我调试它时,它说没有错误。我的代码有什么问题?
-
如果没有报酬,我不会为你做你的工作。将问题缩小到更小的代码区域,然后发布更小的示例。
标签: asp.net web-services serialization