
Untitled
By: a guest on
Aug 9th, 2012 | syntax:
None | size: 1.29 KB | hits: 5 | expires: Never
Exposing a winforms application internals through WCF
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = MySingleton.Instance.InitedAt.ToString();
}
}
public class MySingleton
{
private static MySingleton instance = new MySingleton();
private DateTime inited;
private MySingleton()
{
this.inited = DateTime.Now;
}
public static MySingleton Instance
{
get
{
return instance;
}
}
public DateTime InitedAt
{
get
{
return this.inited;
}
}
}
[ServiceContract]
public interface IApplicationProbe {
[OperationContract]
string DoesItWork();
[OperationContract]
string SingletonInited();
}
public class ApplicationProbe : IApplicationProbe {
public string DoesItWork(){
return "Why yes, yes it does";
}
public string SingletonInited(){
return MySingleton.Instance.InitedAt.ToString();
}
}
public class YourImpportantSingleton
{
public YourImpportantSingleton Instance { get; set; }
public void DoSeriousBusiness(){...}
}
[ServiceContract]
public interface IYourContract
{
void YourRemoteAction();
}
public class YourService : IYourContract
{
public void YourRemoteAction()
{
YourImportantSingleton.Instance.DoSeriousBusiness();
}
}