Всем доброго времени суток. Суть: Необходимо запустить скрипт COM приложения, по кнопке с сайта.
JS (отправляем html):
$.ajax({
url: "test.aspx/Start",
datatype: "json",
cache: false,
async: true,
contentType: "application/json; charset=utf-8",
method: "POST",
data: JSON.stringify({ "HTMLString": str }),
success: function (data) {
if (data.d.length > 0) {
ShowMessage(data.d, "error");
}
}
}); return false;
Test.aspx:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
public static string Start(string HTMLString)
{
bool IsInstalled = Handlers.CheckIsInstalled();
string result = "";
if (IsInstalled)
{
string filePath = Path.GetTempPath() + "\\" + fileName;
// Создадим документ в темп пользователя
Handlers.ConvertToPDF(HTMLString, filePath, true);
string AppProgId = "SBLogon.LoginPoint";
Type LoginPointType = Type.GetTypeFromProgID(AppProgId);
dynamic LoginPoint = Activator.CreateInstance(LoginPointType);
dynamic App = LoginPoint.GetApplication("ServerName=STEST;
DBName=DBTEST;
UserName=;Password=");
dynamic Src = App.ScriptFactory.GetObjectByName("test");
Src.Params.SetVar("document", filePath);
Src.Execute();
}
else
{
result = "не установлено ПО...";
}
return result;
}
Проблема: Суть в том, что с локального сервера все работает как мне надо - запускается и тд. Но стоит запустить на нормальном сервере, то по кнопке - тишина. А в отладчике исключение:
ExceptionType: "System.Runtime.InteropServices.COMException"
Message: "Вход в систему не произведен"
StackTrace:" at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32
hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
↵ at CallSite.Target(Closure , CallSite , ComObject , String )
↵ at CallSite.Target(Closure , CallSite , Object , String )
↵ at SpecodInfo.Test.Start(String HTMLString)
Строка проблемная:
dynamic App = LoginPoint.GetApplication("ServerName=STEST;
DBName=DBTEST;
UserName=;Password=");
Не могу найти причину, может кто сталкивался подскажите непутевому, рад любой помощи, а то уже мозг сломал)
В VS ваши запросы обрабатываются в контексте безопасности вашего пользователя, который у вас является пользователем домена.Поэтому в локальном сервере все гладко.А сервеные приложения подобно IIS
по умолчанию вовсе не запускаются от имени доменных пользователей,скорее всего именно в непрошедшей аутентификации IIS
-а в домене и проблема.
Здесь описаны возможные варианты решения возникшей у вас проблемы.
Оригинал этой статьи
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день, подскажите пожалуйста возможно ли разместить два AspNet Core проекта на одном домене? Есть проект основного сайта (site
Создаю кучу Task - в каждом игровой цикл, помещаю их в List<Task>: