我正在使用visual studio,我将asp.net应用程序作为一个项目,将web服务作为另一个项目。我在我的asp.net应用程序中使用Web服务。我的webservice代码存在某种问题。但是我无法从asp.net应用程序连续调试到web服务。我在应用程序和Web服务中都设置了断点但在Web服务中没有激活断点并且它显示了我的连接错误。如何在localhost上托管时这样做?
答案 0 :(得分:14)
如果您将Web应用程序作为启动项目运行,请尝试在另一个调试实例中运行Web服务。
您可以通过右键单击Web服务项目,Debug - >来完成此操作。启动新实例
答案 1 :(得分:8)
您应该将调试器附加到w3wp(IIS进程)。
这是一个link可以帮到你。
答案 2 :(得分:3)
如果要在本地系统中进行调试,可以设置多个启动项目。 您可以通过解决方案属性设置多个启动。 希望这个帮助
答案 3 :(得分:2)
尝试调试服务本身并查看它是否遇到断点。只需将其中包含服务的项目设置为主项目,并将服务设置为主起始页面。
如果它没有到达断点,它可能没有加载所有符号。如果将项目设置为释放配置而不是调试,则会发生这种情况。
答案 4 :(得分:0)
Web服务是否在远程计算机上运行,如果是这样,您需要为Web服务设置远程调试。
答案 5 :(得分:0)
您能否检查一下您是否添加了服务引用您的Web服务,或者您是否无法访问您的Web服务功能。我在我的项目中使用Web服务,如下所示
这是我的网络服务代码
[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 JsonData : System.Web.Services.WebService
{
[WebMethod(Description = "")]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public StateData[] GetStateByCountryID(int ID)
{
StateData objStateData = new StateData();
LMGDAL.db_LMGEntities dbData = new db_LMGEntities();
var data = (from con in dbData.tblStates
where con.State_CountryID == ID
select new StateData
{
StateID = con.StateID,
StateName = con.StateName
}).ToList();
return data.ToArray();
}
然后我将服务引用添加到我的asp.net Web表单
此代码以我的形式
<script type="text/javascript">
$(function () {
$("#ddlCountry").change(function () {
var countryID = $("#ddlCountry").val();
$.ajax({
type: "POST",
url: "JsonData.asmx/GetStateByCountryID",
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: '{ID:"' + countryID + '"}',
success: function (msg) {
var data = msg.d;
var stateData = "";
$.each(data, function (index, itemdata) {
stateData += "<option value='" + itemdata.StateID + "' > " + itemdata.StateName + " </option>";
});
$("#ddlState").empty();
$("#ddlState").append("<option value='0'>-Select State-</option>");
$("#ddlState").append(stateData);
},
error: function () {
alert('Faild To Retrieve States.');
}
});
});
我认为这会对你有帮助