stoppen Meine ASP.NET MVC App verwendet eine nicht verwaltete externe DLL in C++ geschrieben.Nicht verwaltete DLL in ASP.NET MVC App verursacht App-Pool auf IIS-Server
Diese Website kann problemlos in Visual Studio ausgeführt werden, indem die externen DLLs korrekt lokalisiert und aufgerufen werden. Wenn jedoch die Website auf einem lokalen Webserver veröffentlicht (mit IIS 7.5), anstatt dem Visual Studio IIS Express ich die folgenden Fehlermeldung erhalten:
HTTP Error 503. The service is unavailable.
Die externe DLL im Verzeichnis ist der website.On befindet Wenn ich mir die IIS-Logs anschaue, ist mir aufgefallen, dass der defaultapppool bei jedem Aufruf der DLL anhält.
HTTP/1.1 GET /Bio/Select/3 503 1 Disabled DefaultAppPool
Ich habe folgendes versucht:
- Ich habe die DLL in System32 und syswow64 Ordner.
- Gaben die vollen Rechte für ASPNET, IIS_WPG und IUSR (für diesen Server) auf die Website Bin-Verzeichnis und neu gestartet.
- Die externe DLL als vorhandene Elemente zu den Projekten hinzugefügt und ihre Eigenschaft "Copy to Output" auf "Copy Always" setzen.
- Die App mit Zielplattform x86 veröffentlicht, da die DLL ein 32-Bit ist.
- Ich habe IIS läuft im integrierten Modus aktivieren 32 Bit.
- Ich habe die DLL in der \ System32 \ Inetsrv
Im Folgenden ein Code-Snippet wird, wie ich rufe dem dll
[HttpGet]
public ActionResult Select(int ID)
{
int res = BSSDK.BS_InitSDK();
if (res != BSSDK.BS_SUCCESS)
{
ModelState.AddModelError("Error", "SDK failed to initialise");
}
return View()
}
public class BSSDK
{
[DllImport("BS_SDK.dll",
CharSet = CharSet.Ansi,
EntryPoint = "BS_InitSDK")]
public static extern int BS_InitSDK();
}
Meine Ansicht
@model IEnumerable<BasicSuprema.Models.BioUser>
@using GridMvc.Html
@{
ViewBag.Title = "Bio Users On DB";
}
<div class="well well-sm"><h3>@ViewBag.Title</h3></div>
@Html.ValidationMessage("Error")
<div class="grid-wrap">
@Html.Grid(Model).Named("UsersGrid").Columns(columns =>
{
columns.Add(c => c.BioUserID).Titled("ID");
columns.Add(c => c.UserName).Titled("User");
}).WithPaging(10).Sortable(true)
</div>
ähnliche Fragen umfassen Unmanaged DLLs fail to load on ASP.NET server How to call unmanaged code in ASP.NET website and host it in IIS
Unable to call the DLL from ASP.NET
Wenn ich es auf Web-Server läuft gehosteten IIS 8 ich die unten error.So vielleicht auf meinem lokalen IIS-Server bekommen es gibt Fehler 503 Coz es nicht die DLL finden kann, aber ich bin noch diese zu bestimmen, wie für Die gehostete habe ich keinen Zugriff auf die DLL in die Systemordner kopieren.
Unable to load DLL 'BS_SDK.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Innerhalb des Servers sollte ein detaillierterer Fehler im Anwendungsprotokoll enthalten sein. COuld Sie sehen und posten Details? –
Verwenden Sie das .NET Framework-Clientprofil im Anwendungspool? – User2012384
@MitchelSellers Welche Protokolle bezeichnen Sie? Könnten Sie mich bitte auf den Standort des Anwendungsprotokolls verweisen? – GotaloveCode