- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 Rest WCF
托管到我的 IIS 7
。我测试了所有内容,除了导入 dll
外,一切正常。我的实例类代码如下:
[OperationContract, WebInvoke(Method = "GET", UriTemplate = "/getname?name={name}&age={age}", ResponseFormat = WebMessageFormat.Json)]
bool getname(string name, string age);
[OperationContract, WebInvoke(Method = "GET", UriTemplate = "/getcallfromdll?name={name}&age={age}", ResponseFormat = WebMessageFormat.Json)]
bool getcallfromdll(string name, string age);
而上述方法的定义是:
public string getname(string name, int len)
{
return "It's working";
}
public string getcallfromdll(string name, int len)
{
return UnsafeNativeMethods.getvalue(name, len); //Unsafe.. is a internal structure
}
internal static class UnsafeNativeMethods
{
const string _dllLocation = "school.dll";
[DllImport(_dllLocation, CallingConvention = CallingConvention.Cdecl)]
public static extern bool getvalue(string name, String len);
}
当尝试运行 localhost:8085/service.svc/getname?name=kajn&len=21
时:它返回 "It's working"
,这是正确的,但每当我尝试调用 localhost:8085/service.svc/getcallfromdll?name=kajn&len=21
:它返回 服务器在处理请求时遇到错误。有关详细信息,请参阅服务器日志。
我搜索了它,不知何故我知道这一切都是由于服务无法找到 DLL
而发生的。为了解决这个问题,我尝试将我的 dll 放在以下位置,但它对我没有帮助:(:
但对我来说没有任何用处。请给我一个解决方案。
注意:dll 没有问题,因为我从自托管的 WCF 应用程序调用 dll 方法并且它运行良好。那时我把我的 dll 放到 bin/debug
文件夹中。
最佳答案
我猜这可能与 IIS 可能将二进制文件复制到影子位置这一事实有关,而当它这样做时,它可能没有意识到可能需要非托管 dll。您的“school.dll”是您的 WCF 解决方案的一部分吗?它是作为引用添加的吗?它还依赖于任何其他非托管 dll 吗?下次您遇到该错误时,您可以尝试搜索您的系统以查找您的 WCF dll 的所有实例,然后如果您在影子位置找到一个实例,请查看您的“school.dll”是否也在那里。
关于c# - 无法在 IIS 托管的其余 WCF 服务中加载第三方 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14184990/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!