У меня есть один проект, в котором есть RIAService с структурой сущностей, на который ссылается мой проект Silvelright. поэтому, когда я собираю проект, который собирает DLL-файл проекта службы RIA и помещаю его в папку Bin / Debug проекта Silverlight.
Функция службы домена, как показано ниже
[EnableClientAccess()]
public partial class MyClassDomainService : LinqToEntitiesDomainService<MyDatabaseEntities>
{
[Invoke]
public void MyFunction(int Para1, string Para2, int Para3, string Para4)
{
//mycode
}
}
Теперь я создаю этот фрагмент и копирую этот RIAService.dll и другие требуемые библиотеки DLL в мой другой проект - проект службы окон.
Теперь в оконной службе я создаю объект этой службы домена, как показано ниже в функции timerQlinkRequest_Elapsed ().
private void timerQ_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
MyClassDomainContext objcontext = new MyClassDomainContext();
objcontext.MyFunction(1, "ADD", 1234, "Vehicle");
}
catch (Exception ex)
{
LogMessage("Error : StackTrace : " + ex.StackTrace);
}
}
После установки и запуска службы окна я получаю ошибку ниже в ex.stackTrace в файле журнала, как показано ниже
Error : StackTrace : at MS.Internal.JoltHelper.get_Context()
at MS.Internal.XcpImports.Application_GetCurrent(IntPtr& pApp)
at System.Windows.Application.get_Current()
at System.ServiceModel.DomainServices.Client.WebDomainClient`1.ComposeAbsoluteServiceUri()
at System.ServiceModel.DomainServices.Client.WebDomainClient`1..ctor(Uri serviceUri)
at RIAService.Web.Service.QLink.MyClassDomainContext..ctor()
at MywindowService.MyService1.timerQ_Elapsed(Object sender, ElapsedEventArgs e)
Так что мое главное замешательство в том, могу ли я так поступить? если да, то где я ошибаюсь?
пожалуйста, помогите мне.
в ожидании ответа.