0

ページ内の Web サービス メソッドを使用した asp.net Web アプリがあります。これは asmx ページではなく、Default.aspx です。例えば:

    [WebMethod]
    public static string SignUp(UserCredential userCredential)
    {
    }

Default.aspx ページに埋め込まれた jquery を使用して、この Web サービスを問題なく使用できます。ここで、たとえばコンソール プログラムでこの Web メソッドを使用したいと考えています。コンソール プログラムに Web 参照を追加すると、次のように表示されました: HTML ドキュメントには、Web サービス検出情報が含まれていません。

これをページ Web サービスで使用するにはどうすればよいですか?

4

2 に答える 2

1

もう 1 つのオプションは、次のように、ASP.NET Web API を使用してサービス メソッドを作成し、コンソール アプリケーションでそれらを使用することです。

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;

class Program
{
    static void Main(string[] args)
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:9000/");

        // Add an Accept header for JSON format.
        client.DefaultRequestHeaders.Accept.Add(
            new MediaTypeWithQualityHeaderValue("application/json"));

        // Call Web API methods here
    }
}

C# コンソール アプリケーションから ASP.NET Web API サービスを使用する方法については、「.NET クライアントから Web API を呼び出す」を参照してください。

于 2013-11-06T21:25:03.620 に答える
0

ページの外部からそのページ メソッドを使用することはできません。そのためには、別のサービスが必要です。

次のことを行う必要があります。

  1. 新しいサービスを保持する別の WCF サービス プロジェクトを作成する
  2. 新しいサービス プロジェクトで、ページ メソッドの内容を同様のサービス メソッドに抽出します。
  3. 新しいサービスをテストして動作させる
  4. ASP.NET プロジェクトで、「サービス参照の追加」を使用して、新しいサービスを参照できるようにします。
  5. ページメソッド内から新しいサービスを呼び出す
于 2013-11-06T20:42:30.600 に答える