找回密码
 立即注册

QQ登录

只需一步,快速开始

lxj

初级会员

6

主题

26

帖子

202

积分

初级会员

积分
202
lxj
初级会员   /  发表于:2018-4-25 14:22  /   查看:9869  /  回复:20
本帖最后由 lxj 于 2018-4-25 14:25 编辑

系统环境用的:vs2015+leadtools-v19+webService例子引用的是leadtools32位dll类库,
之前例子在leadtools v20的环境下,本地跑过,可以使用,使用VS编译发布到iis上,失败。报错:


附上 例子的代码。源代码文件,27mb只能用百度云盘,附上 下载地址。调用dicom影像的组件,百度云盘下载地址
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Services;
  6. using Leadtools.Medical.WebViewer.ExternalControl;
  7. using Leadtools;
  8. using Leadtools.Codecs;
  9. namespace LeadTools
  10. {
  11.     /// <summary>
  12.     /// LeadTools 的摘要说明
  13.     /// </summary>
  14.     [WebService(Namespace = "http://tempuri.org/")]
  15.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  16.     [System.ComponentModel.ToolboxItem(false)]
  17.     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
  18.     // [System.Web.Script.Services.ScriptService]
  19.     public class LeadTools : System.Web.Services.WebService
  20.     {

  21.         [WebMethod]
  22.         public string HelloWorld()
  23.         {
  24.             return "Hello World";
  25.         }
  26.         [WebMethod]
  27.         public void GetImage(string patientId)
  28.         {
  29.             string applicationName;
  30.             string version;
  31.             int externalControlPort = 500;
  32.             // Username a password to log in
  33.             // This will be the username and password that you created when running the CSPacsDatabaseConfig.exe demo
  34.             string username = "a";
  35.             string password = "a";
  36.             MedicalWebViewerExternalController controller = new MedicalWebViewerExternalController("http://localhost/MedicalViewer19");
  37.             //MedicalWebViewerExternalController controller = new MedicalWebViewerExternalController("http://47.98.247.113/MedicalViewer20");
  38.            controller.ServiceURL = "http://localhost/MedicalViewerService19";
  39.              //controller.ServiceURL = "http://47.98.247.113/MedicalViewerServiceWcf20/";
  40.             controller.Timeout = 30;
  41.             controller.InitApplication(out applicationName, out version, externalControlPort);
  42.             controller.SelectedBrowser = MedicalWebViewerBrowser.GoogleChrome;
  43.             ControllerReturnCode loginRes = controller.UserLogin(username, password);
  44.             controller.ShowPatient(patientId);
  45.             /*
  46.             FindPatientOptions optins = new FindPatientOptions();
  47.             List<PatientInfo> patients = new List<PatientInfo>();
  48.             List<StudyInfo> studyList = new List<StudyInfo>();
  49.             ControllerReturnCode findRes = controller.FindPatient(null, optins, patients);
  50.             
  51.             foreach (PatientInfo element in patients)
  52.             {
  53.                
  54.                 //studies += "StudyInstanceUid = " + element.StudyInstanceUid + ";</br>";
  55.             }
  56.             Console.WriteLine(patients);
  57.             controller.FindStudies(null, studyList);
  58.             string studies = "";
  59.             foreach (StudyInfo element in studyList)
  60.             {
  61.                 studies += "StudyInstanceUid = " + element.StudyInstanceUid;
  62.             }
  63.             return studies;
  64.             */
  65.            // controller.CloseApplication();

  66.             // Shutdown the command queue
  67.            // controller.Shutdown();
  68.         }

  69.     }
  70. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

20 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-3 17:36:37
21#
这个确实是一个问题,我这边再测试一下看看如何解决吧
回复 使用道具 举报
lxj
初级会员   /  发表于:2018-5-3 15:50:16
20#
Richard.Ma 发表于 2018-4-28 17:36
8888这个端口号是我随便写的一个,只时给controller设置了一个端口号,
你那边的主要问题是先要把浏览器 ...

不好意思、、、照着你的代码贴上去,如果没有用管理员 运行VS 还是会报登录的那条代码出错。可能是这个权限的问题 还是什么 问题导致的。 我们部署到iis的这个demo,是没办法弹出 影像查看的浏览器。所以才考虑怎么解决这个。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-28 17:36:32
19#
lxj 发表于 2018-4-28 16:36
controller.InitApplication(out a, out v, 8888);  8888是哪个项目的端口  externalControlPort?暂时没 ...

8888这个端口号是我随便写的一个,只时给controller设置了一个端口号,
你那边的主要问题是先要把浏览器调用启动起来
回复 使用道具 举报
lxj
初级会员   /  发表于:2018-4-28 16:41:40
18#
Richard.Ma 发表于 2018-4-28 16:24
您的代码没有什么报错,之所以没有显示图像是因为缺少代码,在登录前需要先初始化MedicalWebViewer,也就是 ...

我再试试。有问题在反馈。
回复 使用道具 举报
lxj
初级会员   /  发表于:2018-4-28 16:36:32
17#
Richard.Ma 发表于 2018-4-28 16:24
您的代码没有什么报错,之所以没有显示图像是因为缺少代码,在登录前需要先初始化MedicalWebViewer,也就是 ...

controller.InitApplication(out a, out v, 8888);  8888是哪个项目的端口  externalControlPort?暂时没找到。。。
回复 使用道具 举报
lxj
初级会员   /  发表于:2018-4-28 16:28:46
16#
Richard.Ma 发表于 2018-4-28 16:24
您的代码没有什么报错,之所以没有显示图像是因为缺少代码,在登录前需要先初始化MedicalWebViewer,也就是 ...

好的 我试试。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-28 16:24:18
15#
本帖最后由 Richard.Ma 于 2018-4-28 16:27 编辑

您的代码没有什么报错,之所以没有显示图像是因为缺少代码,在登录前需要先初始化MedicalWebViewer,也就是要先弹出一个web窗口,具体需要添加的代码如下
我建议您参考开发包里面的demo代码,目录“C:\LEADTOOLS 20\Shortcuts\Medical Viewers\.NET Framework Class Libraries\HTML5 Medical Viewer\Medical Web Viewer”
文件夹快捷方式:External Control C# Projects

  1. // Username a password to log in
  2.             // This will be the username and password that you created when running the CSPacsDatabaseConfig.exe demo
  3.             string username = "a";
  4.             string password = "a";
  5.             MedicalWebViewerExternalController controller = new MedicalWebViewerExternalController("http://localhost/MedicalViewer20");
  6.             //MedicalWebViewerExternalController controller = new MedicalWebViewerExternalController("http://47.98.247.113/MedicalViewer20");
  7.             MedicalWebViewerBrowser _selectedBrowser = MedicalWebViewerBrowser.GoogleChrome;
  8.             controller.SelectedBrowser = _selectedBrowser;
  9.             controller.ServiceURL = "http://localhost/MedicalViewerServiceWcf20";
  10.              //controller.ServiceURL = "http://47.98.247.113/MedicalViewerServiceWcf20/";
  11.             controller.Timeout = 30;
  12.             ControllerReturnCode startres=controller.InitApplication(out applicationName, out version, externalControlPort);
  13.             controller.SelectedBrowser = MedicalWebViewerBrowser.GoogleChrome;
  14.             if (controller.IsStarted)
  15.             {
  16.                 controller.Shutdown();
  17.             }
  18.             string a, v;
  19.             controller.InitApplication(out a, out v, 8888);
  20.             ControllerReturnCode loginRes = controller.UserLogin(username, password);
  21.             controller.ShowPatient(patientId);
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
lxj
初级会员   /  发表于:2018-4-28 09:13:25
14#
Richard.Ma 发表于 2018-4-27 17:56
无法加载您这边的项目,您是用的VS哪个版本呢

VS 2015  有问题随时联系。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-27 17:56:07
13#
无法加载您这边的项目,您是用的VS哪个版本呢
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部