Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base . For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
EasyDAClient - application failure when deployed to server
For QuickOPC version 5.35, we are working on a solution that should remove a need for pre-installing ANY prerequisites whatsoever - by "boxing" them together with our assemblies, using a special virtualization technique.
Please Log in or Create an account to join the conversation.
- Flintstone
-
Topic Author
- Offline
- Premium Member
-
- Posts: 14
- Thank you received: 0
Please Log in or Create an account to join the conversation.
Thank you
Please Log in or Create an account to join the conversation.
- Flintstone
-
Topic Author
- Offline
- Premium Member
-
- Posts: 14
- Thank you received: 0
During my troubleshooting, I have tried moving the scope of the EasyDAClient object with the following results:
namespace AthensProductionMVC
{
public partial class L1StatusViewer : System.Web.UI.Page
{
private OpcLabs.EasyOpc.ServerDescriptor opcPrimaryServerDescriptor = new OpcLabs.EasyOpc.ServerDescriptor(...removed);
private EasyDAClient client = new EasyDAClient(); // If I initialize an instance here, the entire page fails to load, but no errors that I know of are thrown
// ... more code here
protected void Timer1_Tick(object sender, EventArgs e)
{
EasyDAClient client = new EasyDAClient(); // If I initialize an instance here, the entire page loads, but no errors that I know of are thrown.
ValueResult[] extruderResults = client.ReadMultipleItemValues(opcPrimaryServerDescriptor, new DAItemDescriptor[] {
// ... more code here
Can you provide more guidance? Perhaps a better way to look for errors or a better troubleshooting technique than I am currently using?
Best Regards
Please Log in or Create an account to join the conversation.
We have been fixing a problem in this area recently, albeit not under this precise (IIS) scenario. I therefore suggest that you download the recent version (5.34), rebuild your project with it, and test again.
Best regards
Please Log in or Create an account to join the conversation.
- Flintstone
-
Topic Author
- Offline
- Premium Member
-
- Posts: 14
- Thank you received: 0
Here is the IIS warning from the event viewer:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 6/24/2015 1:26:53 PM
Event time (UTC): 6/24/2015 5:26:53 PM
Event ID: 2c0a906355784dff96b99bd8495463e4
Event sequence: 27
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/5/ROOT-3-130796403552713741
Trust level: Full
Application Virtual Path: /
Application Path: C:\AthensProductionMVC\
Machine name: ATHAP5
Process information:
Process ID: 714304
Process name: w3wp.exe
Account name: IIS APPPOOL\AthensProductionMVC
Exception information:
Exception type: TypeInitializationException
Exception message: The type initializer for 'OpcLabs.EasyOpc.DataAccess.EasyDAClient' threw an exception.
at OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor()
at AthensProductionMVC.L1StatusViewer.Timer1_Tick(Object sender, EventArgs e)
at System.Web.UI.Timer.OnTick(EventArgs e)
at System.Web.UI.Timer.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Timer.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Exception has been thrown by the target of an invocation.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
at OpcLabs.BaseLib.Extensions.TypeExtension.SetStaticPropertyValue(Type type, String name, Object value)
at OpcLabs.EasyOpc.Native.DataAccess.NativeEasyDAClient.set_AdaptableParameters(EasyDAAdaptableParameters value)
at OpcLabs.EasyOpc.DataAccess.EasyDAClient.set_AdaptableParameters(EasyDAAdaptableParameters value)
at OpcLabs.EasyOpc.DataAccess.EasyDAClient..cctor()
[A]OpcLabs.EasyOpc.DataAccess.Engine.EasyDAAdaptableParameters cannot be cast to OpcLabs.EasyOpc.DataAccess.Engine.EasyDAAdaptableParameters. Type A originates from 'OpcLabs.EasyOpcClassicInternal, Version=5.33.1157.1, Culture=neutral, PublicKeyToken=6faddca41dacb409' in the context 'Default' at location 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\cadcc9de\ae15f36c\assembly\dl3\96ab9257\00a50b8e_4775d001\OpcLabs.EasyOpcClassicInternal.dll'. Type B originates from 'OpcLabs.EasyOpcClassicInternal, Version=5.33.1157.1, Culture=neutral, PublicKeyToken=6faddca41dacb409' in the context 'Default' at location 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\cadcc9de\ae15f36c\assembly\dl3\96ab9257\00a50b8e_4775d001\OpcLabs.EasyOpcClassicInternal.dll'.
at OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine._PutAdaptableParameters(CDAInnerEngine* , Object value)
Request information:
Request URL: http://athap5/L1StatusViewer.aspx
Request path: /L1StatusViewer.aspx
User host address: 10.4.10.64
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\AthensProductionMVC
Thread information:
Thread ID: 131
Thread account name: IIS APPPOOL\AthensProductionMVC
Is impersonating: False
Stack trace: at OpcLabs.EasyOpc.DataAccess.EasyDAClient..ctor()
at AthensProductionMVC.L1StatusViewer.Timer1_Tick(Object sender, EventArgs e)
at System.Web.UI.Timer.OnTick(EventArgs e)
at System.Web.UI.Timer.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Timer.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
Thank you for any help that you can provide.
Please Log in or Create an account to join the conversation.