Silvelright 프로젝트를 참조하는 엔티티 프레임 워크가있는 RIAService가있는 프로젝트가 하나 있습니다. 그래서 RIA Service 프로젝트 DLL을 빌드하고 Silverlight 프로젝트의 Bin/Debug 폴더에 넣는 프로젝트를 빌드 할 때.Window 서비스에서 RIA Service 프로젝트 DLL 사용
도메인 서비스 기능은
[EnableClientAccess()]
public partial class MyClassDomainService : LinqToEntitiesDomainService<MyDatabaseEntities>
{
[Invoke]
public void MyFunction(int Para1, string Para2, int Para3, string Para4)
{
//mycode
}
}
지금 내가 윈도우 서비스 프로젝트이 porject를 구축 오전이 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);
}
}
서비스를 설치하고 시작 창 후 나는 이렇게 할 수있는, 그래서 내 주요 혼란이
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)
다음과 같이 로그 filem에 ex.stackTrace에 오류가 아래 얻을? 그렇다면 어디서 잘못 될까요?
도와주세요.
답장을 기다리는 중입니다.
여러 프로젝트에서 동일한 ria 서비스를 사용하고 있습니까? 이 두 프로젝트의 동일한 제한 사항에 대한 제한 사항이 있습니까? –
둘 다 다른 해결책입니다.하나는 윈도우 서비스 솔루션이며 다른 솔루션은 RIAService 프로젝트와 Silverlight 프로젝트와 Silverlight.Web 프로젝트를 가지고 있습니다. 그래서 RIAService.dll 빌드 후 붙여 넣기 복사 한 다음 한 폴더에 넣고 창 서비스 프로젝트에 사용하십시오. –