public static string GetClientProxyScript(Type type, string path, bool debug, ServiceEndpoint serviceEndpoint) { if (type == null) { throw new ArgumentNullException("type"); } if (path == null) { throw new ArgumentNullException("path"); } WebServiceData webServiceData = null; ClientProxyGenerator proxyGenerator = null; if (IsWebServiceType(type)) { proxyGenerator = new WebServiceClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, false); } else if (IsPageType(type)) { proxyGenerator = new PageClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, true); } else if (IsWCFServiceType(type)) { // invoke the WCFServiceClientProxyGenerator.GetClientProxyScript method using reflection Assembly wcfWebAssembly = Assembly.Load(AssemblyRef.SystemServiceModelWeb); if (wcfWebAssembly != null) { Type wcfProxyType = wcfWebAssembly.GetType(WCFProxyTypeName); if (wcfProxyType != null) { MethodInfo getClientProxyMethod = wcfProxyType.GetMethod(WCFProxyMethodName, BindingFlags.Static | BindingFlags.NonPublic); if (getClientProxyMethod != null) { return(getClientProxyMethod.Invoke(null, new object[] { type, path, debug, serviceEndpoint }) as string); } } } // in case the reflection fails, we should throw unsupported exception throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.ProxyGenerator_UnsupportedType, type.FullName)); } else { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.ProxyGenerator_UnsupportedType, type.FullName)); } return(proxyGenerator.GetClientProxyScript(webServiceData)); }
internal static string GetClientProxyScript(HttpContext context, IPage page, bool debug) { // Do nothing during unit tests which have no context or page if (context == null || page == null) return null; WebServiceData webServiceData = WebServiceData.GetWebServiceData(context, page.AppRelativeVirtualPath, false /*failIfNoData*/, true /*pageMethods */); if (webServiceData == null) return null; PageClientProxyGenerator proxyGenerator = new PageClientProxyGenerator(page, debug); return proxyGenerator.GetClientProxyScript(webServiceData); }
public static string GetClientProxyScript(Type type, string path, bool debug, ServiceEndpoint serviceEndpoint) { if (type == null) { throw new ArgumentNullException("type"); } if (path == null) { throw new ArgumentNullException("path"); } WebServiceData webServiceData = null; ClientProxyGenerator proxyGenerator = null; if (IsWebServiceType(type)) { proxyGenerator = new WebServiceClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, false); } else if (IsPageType(type)) { proxyGenerator = new PageClientProxyGenerator(path, debug); webServiceData = new WebServiceData(type, true); } else if(IsWCFServiceType(type)) { // invoke the WCFServiceClientProxyGenerator.GetClientProxyScript method using reflection Assembly wcfWebAssembly = Assembly.Load(AssemblyRef.SystemServiceModelWeb); if (wcfWebAssembly != null) { Type wcfProxyType = wcfWebAssembly.GetType(WCFProxyTypeName); if (wcfProxyType != null) { MethodInfo getClientProxyMethod = wcfProxyType.GetMethod(WCFProxyMethodName, BindingFlags.Static | BindingFlags.NonPublic); if (getClientProxyMethod != null) { return getClientProxyMethod.Invoke(null, new object[] { type, path, debug, serviceEndpoint }) as string; } } } // in case the reflection fails, we should throw unsupported exception throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.ProxyGenerator_UnsupportedType, type.FullName)); } else { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.ProxyGenerator_UnsupportedType, type.FullName)); } return proxyGenerator.GetClientProxyScript(webServiceData); }
internal static string GetClientProxyScript(HttpContext context, IPage page, bool debug) { // Do nothing during unit tests which have no context or page if (context == null || page == null) { return(null); } WebServiceData webServiceData = WebServiceData.GetWebServiceData(context, page.AppRelativeVirtualPath, false /*failIfNoData*/, true /*pageMethods */); if (webServiceData == null) { return(null); } PageClientProxyGenerator proxyGenerator = new PageClientProxyGenerator(page, debug); return(proxyGenerator.GetClientProxyScript(webServiceData)); }