标签: webmethod

如何将 base64 POST 到 Web 服务

我想要 POST 一个参数,即base64to webservice,但它不起作用。

    string postData = "base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH+iRVKDkbOmUiKpxW0/S6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn+96j7zp/wA=";
    byte[] dataArray = Encoding.Default.GetBytes(postData);

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ServerPage);
    request.Method = "POST";
    request.ContentLength = dataArray.Length;
    request.ContentType = "application/x-www-form-urlencoded";

    Stream dataStream = null;
    try
    {
        dataStream = request.GetRequestStream();
    }
    catch (Exception)
    {
    }

    dataStream.Write(dataArray, 0, dataArray.Length);
    dataStream.Close();
Run Code Online (Sandbox Code Playgroud)

但参数requestHeader更改为:

base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH%2BiRVKDkbOmUiKpxW0%2FS6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn%2B96j7zp%2FwA%3D

所以WebService收到了错误的参数:

[WebMethod]
public string GenerateOrder(string base64)
{ 
    byte[] buffer = Convert.FromBase64String(base64); //Exception here
} 
Run Code Online (Sandbox Code Playgroud)

c# base64 web-services webmethod

5
推荐指数
1
解决办法
2万
查看次数

如何在 asp.net/Jquery 中保护 WebMethod

我正在使用 Jquery Ajax 从 aspx 页面调用 WebMethod。这是我的代码

$(document).ready(function () {
        $("#btnshow").click(function () {
               $.ajax({

                type: "POST",
                url: "example.aspx/showData",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    $("#Result").text(msg.d);
                }
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)

aspx.cs 页面上的代码:

[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static List<LandmarkList> showData()
{
    LandmarkList ObjLL = new LandmarkList();
    return ObjLL.GetDataList();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是什么是保护此 Web 方法的专业方法?保护 Web 方法的可能方法是什么,以便用户不会从客户端调试工具复制该 url 并使用它。

注意:这些是打开的页面,用户不需要登录这些页面。

更新:我想让某人在不实际访问我的网站的情况下继续使用我的网络服务变得更加困难。

asp.net webmethod

5
推荐指数
1
解决办法
4015
查看次数

ajax发送FormData c#WebMethod

我有一个带有文件输入和一个按钮的表单,当我按下按钮时,文件应该转到服务器端。

当我向服务器发送文件时,ajax 响应成功,永远不要停在我使用的 c# webmethod 断点处。我做错了什么?

表单:(Default.aspx)

<form id="form1" runat="server" enctype="multipart/form-data">
    <div align="center" class="divBody">
        <div id="controlHost">
            <div id="outerPanel">
                <table width="100%" cellpadding="2" cellspacing="5">
                    <tr align="left">
                        <td colspan="2">
                            <span class="message">Seleccione el archivo que desea subir</span>
                        </td>
                    </tr>
                    <tr align="left">
                        <td valign="top">
                            <input type="file" id="FileInput" multiple="false" class="fileInput" />
                        </td>
                        <td align="right">
                            <input type="button" id="btnUpload" name="btnUpload" value="Upload" onclick="sendFile();" class="button" />
                        </td>
                    </tr>
                </table>
            </div>
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

脚本:(默认.aspx)

function sendFile() {
    var data = new FormData();
    var file = $("#FileInput")[0].files[0];
    data.append("name", file.name);
    data.append("size", file.size); …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery file webmethod

5
推荐指数
1
解决办法
4321
查看次数

使 WebMethod 异步 Web 表单

我有大量的[WebMethod]整个应用程序,我希望我所有的[WebMethod]都是异步的。我[WebMethod]用 async 和 await 关键字装饰了我所有的签名,然后运行我的应用程序。它没有按预期进行。假设我有以下代码

背后的代码

[WebMethod]
public static async Task<List<XXX>> GetXXX()
{
    return await new BusinessLogic().GetXXX().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)

业务层

    internal async Task<List<XXX>> GetXXX()
    {
        var obj = await objDAL.GetXXX().ConfigureAwait(false);
        List<XXX> listDO = new List<XXX>();
        foreach (var item in obj)
        {
            listDO.Add(new Countries
            {
                XXXName = item.name,
                XXXID = item.id
            });
        }
        return listDO;
Run Code Online (Sandbox Code Playgroud)

objDAL.GetXXX

    internal async Task<List<tblXXX>> GetXXX()
    {
        using (ABCEntities ctx = new ABCEntities())
        {
            return await ctx.tblXXX.ToListAsync().ConfigureAwait(false);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我已经将调试器放在上面代码到达的整个路径中return await …

c# asp.net asynchronous webforms webmethod

5
推荐指数
1
解决办法
792
查看次数

JQuery Ajax WebMethod返回一个对象

我在C#中有一个通过Jquery ajax方法调用的Web方法.Web方法应该将一个对象返回给将用于填充的Jquery.

我试过返回一个JsonResult对象,实际对象似乎没什么用!我没有使用MVC(不幸的是).有没有办法可以从我的web方法返回一个可以由我的AJAX方法使用的对象?

这是我的JQuery AJAX方法的链接

http://pastebin.com/tRSaY5rG
http://pastebin.com/WajXyPMM

谢谢!!

c# asp.net ajax jquery webmethod

4
推荐指数
1
解决办法
2万
查看次数

无效的Web服务调用,缺少参数值

我一直在看这个问题,看不出问题出在哪里.任何帮助是极大的赞赏.

[WebMethod(true)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static string neighbourhoodTeam(string force, string neighbourhood) 
{
    //StreamManager streamMan = new StreamManager();
    //return streamMan.StreamManagerUrlHandler("http://policeapi2.rkh.co.uk/api/" + force + "%2F" + neighbourhood + "%2F" + "people");
    return neighbourhood + force;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

function getOfficers(force, neighbourhood) {
    $.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        url: "../police/crimerequest.aspx/neighbourhoodTeam",
        data: JSON.stringify({ "force": force, "neighbourhood": neighbourhood }),
        dataType: "json",
        success: function (data) {
            var results = $.parseJSON(data.d);
            $.each(results, function (i) {
                businessCards.push(generateOfficerBusinessCard(
                            results[i].name,
                            results[i].rank,
                            results[i].contact_details.mobile,
                            results[i].contact_details.tel,
                            results[i].contact_details.email))
            });
            PoliceApp.businessCardsPlaceHolder.html(businessCards.toString()); …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax jquery webmethod

4
推荐指数
1
解决办法
9762
查看次数

由Response.Redirect引起的System.Threading.ThreadAbortException

在我的应用程序中,我从JavaScript调用WebMethod,我试图重定向到某个页面:

[WebMethod]
public string Logout() {            
    if (User.Identity.IsAuthenticated) {                            
        HttpContext.Current.Response.Redirect("~/Pages/Logout.aspx");               
    }
    return "";
}
Run Code Online (Sandbox Code Playgroud)

aspx页面:

    <input onclick="callLogout();" id="btn" type="button" value="Click Me" />

    <asp:ScriptManager ID="ScriptManager" runat="server">
        <Services>
            <asp:ServiceReference Path="~/WebServices/EMSWebService.asmx" />
        </Services>
    </asp:ScriptManager>
    <script type="text/javascript">        
        function callLogout() {
            EMSApplication.Web.WebServices.EMSWebService.Logout(OnComplete, OnError);
        }

        function OnComplete(result) {
            alert(result);
        }

        function OnError(result) {
            alert(result.get_message());
        }
    </script>
Run Code Online (Sandbox Code Playgroud)

我得到了:

mscorlib.dll中出现'System.Threading.ThreadAbortException'类型的第一次机会异常

mscorlib.dll中出现"System.Threading.ThreadAbortException"类型的异常,但未在用户代码中处理

在我的VS2010的输出窗口中.

为什么我会收到此异常,如何解决此问题?

c# asp.net exception response webmethod

4
推荐指数
1
解决办法
2万
查看次数

从Web方法内部查找应用程序路径

我正在ASP.NET页内实现Web方法以执行异步调用。现在,我需要了解Web应用程序的物理应用程序路径。

我通常使用Request.PhysicalApplicationPath,但是如何从Web方法内部获取相同的信息?

注意RequestServer属性在Web方法内可用...

.net c# asp.net webmethod

4
推荐指数
1
解决办法
6185
查看次数

jQuery/ajax POST一个Array /对象到C#代码后面

当我尝试通过其他问题学习时,仍然无法让它发挥作用

到目前为止,这是我的代码,试图尽可能彻底.

活动(点击)

var resluts = []; //its a collections of id's - list items of unsorted list as strings 
$('#next').click(function() {
    var RLength = resluts.length;
    alert(resluts);
});?
Run Code Online (Sandbox Code Playgroud)

ajax POST

function UbpdateSecondStage(arr) {

    var WebMethod ="GetSecondStageData";
    var page ="Default.aspx/";
    var target = page + WebMethod;
    var SendParameters = Sys.Serialization.JavaScriptSerializer.serialize(arr);
    jQueryAjxUpdt(target, SendParameters);

}


function jQueryAjxUpdt(targetUrl, SentPars) {
    $.ajax({
              type: 'POST',
              url: targetUrl,
              data: {
                     'sentobj':SentPars

              },
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: function (data) {
                                  //alert(data);
              }

   });
}
Run Code Online (Sandbox Code Playgroud)

C#

  [WebMethod] …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net ajax webmethod

4
推荐指数
1
解决办法
7230
查看次数

如何将静态WebMethods中的数据存储到ViewState中

现在我做了一些研究.我需要将我从ajax调用中检索到的一些数据存储到我的页面上的WebMethod中,然后我可以随时将其重新拉回来.

我一开始认为ViewState是最好的选择.遗憾的是,您无法以非静态方法的方式引用它.即使我将页面的实例存储在ViewState中,我相信它会在方法结束时解除实例化,从而破坏我保存的任何数据.

我需要这些数据用于我在其他WebMethods中进行的数据库调用.

我的aspx页面的C#代码隐藏的基本方法如下所示:

    [WebMethod]
    [ScriptMethod]
    public static string populateModels(string[] makeIds)
    {

    }
Run Code Online (Sandbox Code Playgroud)

因此,例如,我需要保存所选的品牌以便从未来的数据库调用中获取.由于我的大多数盒子都是从数据库中过滤和提取的.

更新:

此代码适用于在静态WebMethods中的SessionState中检索和存储数据.

    [WebMethod(EnableSession = true)]
    [ScriptMethod]
    public static string populateYears(string[] modelIds)
    {

        HttpContext.Current.Session["SelectedModels"] = modelIds;

        string[] makeids = (string[])HttpContext.Current.Session["SelectedMakes"];
     }
Run Code Online (Sandbox Code Playgroud)

c# asp.net viewstate web-services webmethod

4
推荐指数
2
解决办法
1万
查看次数