以前は .ASMX Web サービスを使用していましたが、最新のものであり、より優れているはずの WCF に移行しようとしています。
とにかく、私がやりたいことは本当に簡単です: Application.Clear() を呼び出して Application コレクションを空にする Web サービスを作成します。ASMX Web サービスでは、.ASMX Web サービスは Application[] コレクションに完全にアクセスできるため、これは非常に簡単です。ただし、これは実際には WCF では機能しません。
だから、ここに私のサービス契約があります:
[ServiceContract]
public interface IFlusherServicePage
{
[OperationContract]
void FlushApplicationCache();
}
これが私の実装クラスです:
public class FlusherServicePage : Page, IFlusherServicePage
{
public void FlushApplicationCache()
{
Application.Clear();
}
}
そして、ここに私の .svc ファイルがあります:
<%@ ServiceHost Language="C#" Debug="true" Service="FlusherServicePage" CodeBehind="~/App_Code/FlusherServicePage.cs" %>
すべてが正常にコンパイルされます。ただし、Web サービスを呼び出すと、Application[] が null であるため、FlushApplicationCache() は NullReferenceException をスローします。
WCF Web サービスから Application[] コレクションにアクセスする方法はありますか? または、.ASMX に戻す必要がありますか?