0

我想创建一个简单的 Web 服务来分发给 ASP.Net 开发人员。我找到了一个应用程序(SvnBridge),它具有我所追求的布局 - 一个web.config文件和一个.dll文件。

有趣的部分在web.config文件中:

<httpHandlers>
    <clear/>
    <add verb="*" path="*" type="SvnBridgeServer.SvnBridgeHttpHandler, SvnBridgeServer" />
</httpHandlers>

哦,看起来很完美。我可以扔任何我喜欢的东西,并由我认为是一个IHttpHandler实现来处理它。

所以我撕掉了前面链接的配置文件的精神,将我的库捆绑到一个 DLL 中,然后在 VS中构建。我立即在 IE 中得到了这个:

源错误:

[没有相关的源代码行]

我主要使用 PHP - ASP.Net 对我来说很新。显然我做错了什么,但我不知道从哪里开始。

目前,我使用 Python 脚本将所有 C# 源代码捆绑到一个.ashx文件中,这对于分发来说有点酷,但会使调试成为一场噩梦。它看起来有点像这样:

<%@ WebHandler Language="C#" Class="MyApp.MyClass" debug="true" %>
using System.Data;
...
namespace MyApp
{
    public class MyClass : IHttpHandler
    {
        public void ProcessRequest(HttpContext Http)
        {
            ...
        }
    }
}

显然还有更多内容(用户配置区域等),但你明白了要点。

有人可以指出我正确的方向吗?我对 C# 语言很满意,只是安排和配置让我有点难过。

我意识到这个问题可能看起来有些模棱两可 - 请发表评论,我会在必要时尝试澄清。

谢谢,

尼尔。

4

2 回答 2

1

事件日志说什么?可能应该有一个记录(类型为“警告”,源代码类似于“ASP.NET xxxxxxx.x”)。

无论如何,您在帖子的开头提到您希望分发一个 DLL 文件(以及 web.config)。稍后您指向该.ashx文件。

我宁愿创建一个类(项目中的 .cs 文件)并将我的 HTTP 处理程序的实现放在该类中。

此外,请仔细检查您的 HTTP 处理程序的类型是否在 web.config 中正确指定:

<add verb="*" path="*" type="[namespace].[type], [assembly]" />

如果您使用的是 IIS6,那么您需要手动添加通配符脚本映射,以便您的 HTTP 处理程序“捕获”请求。这个论坛帖子可能会有所帮助。

——帕维尔

于 2011-01-05T09:26:21.180 回答
1

这是固定的。我不得不将文件夹转换为 IIS 中的应用程序,并将源移动到受信任的(非网络)位置。

我感谢那些花时间审查这个问题的人。

于 2011-01-07T00:18:51.683 回答