非常に基本的な ASP.NET Web サービスがあります。
動作しますが、最初の呼び出しには 10 秒かかりますが、その後の呼び出しは即座に行われます。
JITコンパイルされていることを認識しているため、最初の呼び出しを高速化するためにプリコンパイルする方法を理解しようとしています。
これまでのところ、私がやったことは次のとおりです。
Web サービス ファイルは次のとおりです。HelloWorldService.cs :
using System.Web.Services;
namespace MyService
{
public class HelloWorldService: WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
私はこれを使用してコンパイルしましたgmcs -target:library HelloWorldService.cs -r:System.Web.Services
結果のHelloWorldService.dll
ファイルを webroot の /bin ディレクトリ内に配置しました。
次に、HelloWorld.asmx
次のように -stub ファイルを作成しました。
<%@WebService Language="C#" Class="MyService.HelloWorldService"%>
これは機能しますが、前述のように、最初の呼び出しが完了するまでに 10 ~ 15 秒かかります... ただし、後続の呼び出しは正常に機能します。
sgen
調べていると、ユーティリティを使用してシリアル化された XML ファイルを作成する必要があるという参考文献を見てきました。
私は実行してそのファイルを使用しました:
sgen HelloWorldService.dll
これにより、ファイル名が作成HelloWorldService.XmlSerializers.dll
され、それも/bin
ディレクトリに配置されます。
ただし、これはどれも役に立ちませんでした。
誰でもこれに光を当てることができますか?