Asp.net web api 从桌面问题调用asp.net WebMethod
我在旧的asp.net应用程序中有一个webmethod。KboAjaxBase.asmx模块位于wwwroot中。当我从控制台应用程序调用该方法时,它返回405。我的所有其他webmethods都是在wesite中调用的(来自js),并且运行良好。这是唯一的桌面呼叫。 谢谢 asmx文件中的webmethod是:Asp.net web api 从桌面问题调用asp.net WebMethod,asp.net-web-api,webclient,Asp.net Web Api,Webclient,我在旧的asp.net应用程序中有一个webmethod。KboAjaxBase.asmx模块位于wwwroot中。当我从控制台应用程序调用该方法时,它返回405。我的所有其他webmethods都是在wesite中调用的(来自js),并且运行良好。这是唯一的桌面呼叫。 谢谢 asmx文件中的webmethod是: [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public partial class KboAjaxB
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public partial class KboAjaxBase : System.Web.Services.WebService
{
[WebMethod]
public AjaxCallParams VerifyStoreImagesOnServer(AjaxCallParams ajaxCallParams)
{
int imagesCreated = -1;
AjaxCallParams returnParams = new AjaxCallParams(ajaxCallParams.Request, "",null);
string isbn = ajaxCallParams.Data.ToString();
StaticState.SetIsWebApi();
using (var db = new DataAccess())
{
imagesCreated = ImageFuncsServer.VerifyStoreImagesOnServer(isbn);
}
returnParams.Data = imagesCreated.ToString();
return returnParams;
}
}
调用例程(在控制台应用程序中)为:
下面是正常工作的js函数和一个典型调用:
function kbo_JsonQuery(url, method, ajaxCallParams, allowWindowClose) {
if (_kboAjaxIsActive) return; // prevent double clicks - racing
_kboAjaxIsActive = true;
var jsonString = "{ 'ajaxCallParams': " + JSON.stringify(ajaxCallParams) + " }";
var myUrl = url + method;
//kbo_showModalOverlay();
$.ajax({
type: "POST",
url: myUrl,
data: jsonString,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: allowWindowClose, //blocks window close
success: kbo_Success,
error: kbo_Error
});
}
function kboSaveSelectorStatus() {
var kboSelectorCallParams = new KboSelectorCallParams(availableBooks, kboBuildStatus(), _kboSaveSelectedBooks);
var ajaxCallParams = new KboAjaxCallParams(_kboSaveSelectedBooks, "");
ajaxCallParams.SelectorCallParams = kboSelectorCallParams;
kbo_JsonQuery(_kboAjaxBaseUrl, _kboSaveSelectedBooks, ajaxCallParams, _kboAllowWindowClose);
selectionIsDirty = false;
}
典型呼叫:
function kbo_JsonQuery(url, method, ajaxCallParams, allowWindowClose) {
if (_kboAjaxIsActive) return; // prevent double clicks - racing
_kboAjaxIsActive = true;
var jsonString = "{ 'ajaxCallParams': " + JSON.stringify(ajaxCallParams) + " }";
var myUrl = url + method;
//kbo_showModalOverlay();
$.ajax({
type: "POST",
url: myUrl,
data: jsonString,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: allowWindowClose, //blocks window close
success: kbo_Success,
error: kbo_Error
});
}
function kboSaveSelectorStatus() {
var kboSelectorCallParams = new KboSelectorCallParams(availableBooks, kboBuildStatus(), _kboSaveSelectedBooks);
var ajaxCallParams = new KboAjaxCallParams(_kboSaveSelectedBooks, "");
ajaxCallParams.SelectorCallParams = kboSelectorCallParams;
kbo_JsonQuery(_kboAjaxBaseUrl, _kboSaveSelectedBooks, ajaxCallParams, _kboAllowWindowClose);
selectionIsDirty = false;
}
下面是js函数和对该函数的典型调用:因为我没有得到任何响应。。。这只是个愚蠢的问题吗???