Всем доброго времени суток. Суть: Необходимо запустить скрипт 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
-а в домене и проблема.
Здесь описаны возможные варианты решения возникшей у вас проблемы.
Оригинал этой статьи
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый день, подскажите пожалуйста возможно ли разместить два AspNet Core проекта на одном домене? Есть проект основного сайта (site
Создаю кучу Task - в каждом игровой цикл, помещаю их в List<Task>: