- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试在我的 Web 浏览器上访问 .asmx 文件时出现此错误消息。消息如下:
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not create type 'GeocachingServerNS.GeocachingServer'.
Source Error:
Line 1: <%@ WebService Language="C#" CodeBehind="GeocachingServer.asmx.cs" Class="GeocachingServerNS.GeocachingServer" %>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections.Generic;
namespace GeocachingServerNS
{
public class PlayerInfo
{
public string playerName;
public Position position;
public PlayerInfo()
{
}
public PlayerInfo(string playerName, Position position)
{
this.playerName = playerName;
this.position = position;
}
}
public class CacheInfo
{
public string cacheName;
public string creatorName;
public int id;
public Position position;
public string hint;
public string code;
public CacheInfo()
{
}
public CacheInfo(string cacheName, string creatorName, int id, Position position, string hint, string code)
{
this.cacheName = cacheName;
this.creatorName = creatorName;
this.id = id;
this.position = position;
this.hint = hint;
this.code = code;
}
}
public class Position
{
public double latitude;
public double longitude;
public Position()
{
}
}
public class Message
{
public string sender;
public string content;
public Message()
{
}
}
[WebService(Namespace = "http://ift604.usherbrooke.ca/", Name = "GeocachingServer")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class GeocachingServer : System.Web.Services.WebService
{
public static int m_idCounter = 0;
public static List<CacheInfo> m_cacheInfos = new List<CacheInfo>();
public static List<PlayerInfo> m_playerInfos = new List<PlayerInfo>();
public static Dictionary<CacheInfo, List<Message>> m_cacheComments = new Dictionary<CacheInfo, List<Message>>();
public static Dictionary<string, List<Message>> m_mailboxes = new Dictionary<string, List<Message>>();
/// <summary>
/// Registers a new cache into the geocaching server.
/// The cache will be visible to players.
/// </summary>
/// <param name="cacheName"></param>
/// <param name="creatorName"></param>
/// <param name="position"></param>
/// <param name="hint"></param>
[WebMethod]
public void RegisterCache(string cacheName, string creatorName, Position position, string hint, string code)
{
CacheInfo cacheInfo = new CacheInfo(cacheName, creatorName, m_idCounter, position, hint, code);
m_cacheInfos.Add(cacheInfo);
m_cacheComments[cacheInfo] = new List<Message>();
++m_idCounter;
}
/// <summary>
/// Sends (updates) the position of a player to the geocaching server.
/// </summary>
/// <param name="position"></param>
/// <param name="playerName"></param>
[WebMethod]
public void SendPosition(Position position, string playerName)
{
PlayerInfo playerInfo = FindPlayer(playerName);
if (playerInfo == null)
{
//TODO: Est-ce la meilleure façon de procéder, d'un point de vue
//sécurité (flooding)? Non.
m_playerInfos.Add(new PlayerInfo(playerName, position));
}
else
{
playerInfo.position = position;
}
}
/// <summary>
/// Removes a player from the geocaching game.
/// </summary>
/// <param name="playerName"></param>
[WebMethod]
public void Disconnect(string playerName)
{
PlayerInfo playerInfo = FindPlayer(playerName);
m_playerInfos.Remove(playerInfo); //Fonctionne aussi avec null.
}
/// <summary>
/// Returns positions of players nearby.
/// </summary>
/// <param name="playerName">The player that requests the positions.</param>
/// <returns></returns>
[WebMethod]
public List<PlayerInfo> GetPlayerPositions(String playerName)
{
//TODO: Retourner la position des joueurs qui sont près du joueur...
return m_playerInfos;
}
/// <summary>
/// Returns the list of all caches that exists in the server.
/// </summary>
/// <returns></returns>
[WebMethod]
public List<CacheInfo> GetCacheList()
{
return m_cacheInfos;
}
/// <summary>
/// Returns all comments related to a cache.
/// </summary>
/// <param name="cacheId"></param>
/// <returns></returns>
[WebMethod]
public List<Message> GetComments(int cacheId)
{
List<Message> comments = new List<Message>();
CacheInfo cacheInfo = FindCache(cacheId);
if (cacheInfo != null)
{
comments = m_cacheComments[cacheInfo];
}
return comments;
}
/// <summary>
/// Sends a contragulations message to the creator
/// of a cache.
/// </summary>
/// <param name="message"></param>
/// <param name="cacheId"></param>
[WebMethod]
public void SendMessage(Message message, int cacheId)
{
CacheInfo cacheInfo = FindCache(cacheId);
if (!m_mailboxes.ContainsKey(cacheInfo.creatorName))
{
m_mailboxes[cacheInfo.creatorName] = new List<Message>();
}
m_mailboxes[cacheInfo.creatorName].Add(message);
}
/// <summary>
/// Returns all messages sent to a player (like
/// congratulations messages).
/// </summary>
/// <param name="playerName"></param>
/// <returns></returns>
[WebMethod]
public List<Message> GetMessages(String playerName)
{
if (!m_mailboxes.ContainsKey(playerName))
{
m_mailboxes[playerName] = new List<Message>();
}
return m_mailboxes[playerName];
}
/// <summary>
/// Adds a comment to a cache.
/// </summary>
/// <param name="message"></param>
/// <param name="cacheId"></param>
[WebMethod]
public void AddComment(Message message, int cacheId)
{
CacheInfo cacheInfo = FindCache(cacheId);
if (cacheInfo != null)
{
m_cacheComments[cacheInfo].Add(message);
}
}
private PlayerInfo FindPlayer(string playerName)
{
foreach (PlayerInfo info in m_playerInfos)
{
if (info.playerName == playerName)
{
return info;
}
}
return null;
}
private CacheInfo FindCache(int id)
{
foreach (CacheInfo info in m_cacheInfos)
{
if (info.id == id)
{
return info;
}
}
return null;
}
}
}
.asmx
的构建操作文件必须是 Content
(它是)。 .asmx.cs
的构建操作文件必须是编译(它是)。 App_Code
中“虚拟目录”中的目录和 .asmx
文件必须在 CodeBehind 属性中包含正确的文件(我试过了,但没有用)。 - App_Data
- bin
- GeocachingServer.asmx
- GeocachingServer.asmx.cs
- GeocachingServer.dll
- GeocachingServer.pdb
- obj
- Debug
- Refactor
- TempPE
- GeocachingServer.dll
- GeocachingServer.pdb
- Server.csproj.FileListAbsolute.txt
- Properties
- AssemblyInfo.cs
- Example09ServiceWeb.Publish.xml
- GeocachingServer.asmx
- GeocachingServer.asmx.cs
- Server.csproj
- Server.csproj.user
- Server.Publish.xml
- Web.config
- x.html (if I ask this file when specifying the URL, it works)
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGroup></configSections><appSettings/>
<connectionStrings/>
<system.web>
<!--
Définissez compilation debug="true" pour insérer des symboles
de débogage dans la page compilée. Comme ceci
affecte les performances, définissez cette valeur à true uniquement
lors du développement.
-->
<customErrors mode="Off"/>
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
<!--
La section <authentication> permet la configuration
du mode d'authentification de sécurité utilisé par
ASP.NET pour identifier un utilisateur entrant.
-->
<!--authentication mode="Windows"/>
-->
<!--
La section <customErrors> permet de configurer
les actions à exécuter si/quand une erreur non gérée se produit
lors de l'exécution d'une demande. Plus précisément,
elle permet aux développeurs de configurer les pages d'erreur html
pour qu'elles s'affichent à la place d'une trace de la pile d'erreur.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></controls></pages>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpModules></system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom>
<!--
La section system.webServer est requise pour exécuter ASP.NET AJAX sur Internet
Information Services 7.0. Elle n'est pas nécessaire pour les versions précédentes d'IIS.
-->
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer>
<startup><supportedRuntime version="v2.0.50727"/></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime></configuration>
最佳答案
如果您使用的是 Web Site
项目,你应该把你的代码隐藏GeocachingServer.asmx.cs
在 ~/App_Code/
目录并指向 .asmx 中的该路径
如果这不起作用,您忘记右键单击您的虚拟目录并选择 Convert to Application
.
虽然您应该创建一个 application首先在该文件夹上,而不是使其成为虚拟目录。您应该点击 Add Application
创建它时。
关于.net - 在 IIS 7.0 上访问 .asmx 页面时出现 "Could not create type XXXX",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239131/
SQLite、Content provider 和 Shared Preference 之间的所有已知区别。 但我想知道什么时候需要根据情况使用 SQLite 或 Content Provider 或
警告:我正在使用一个我无法完全控制的后端,所以我正在努力解决 Backbone 中的一些注意事项,这些注意事项可能在其他地方更好地解决......不幸的是,我别无选择,只能在这里处理它们! 所以,我的
我一整天都在挣扎。我的预输入搜索表达式与远程 json 数据完美配合。但是当我尝试使用相同的 json 数据作为预取数据时,建议为空。点击第一个标志后,我收到预定义消息“无法找到任何内容...”,结果
我正在制作一个模拟 NHL 选秀彩票的程序,其中屏幕右侧应该有一个 JTextField,并且在左侧绘制弹跳的选秀球。我创建了一个名为 Ball 的类,它实现了 Runnable,并在我的主 Draf
这个问题已经有答案了: How can I calculate a time span in Java and format the output? (18 个回答) 已关闭 9 年前。 这是我的代码
我有一个 ASP.NET Web API 应用程序在我的本地 IIS 实例上运行。 Web 应用程序配置有 CORS。我调用的 Web API 方法类似于: [POST("/API/{foo}/{ba
我将用户输入的时间和日期作为: DatePicker dp = (DatePicker) findViewById(R.id.datePicker); TimePicker tp = (TimePic
放宽“邻居”的标准是否足够,或者是否有其他标准行动可以采取? 最佳答案 如果所有相邻解决方案都是 Tabu,则听起来您的 Tabu 列表的大小太长或您的释放策略太严格。一个好的 Tabu 列表长度是
我正在阅读来自 cppreference 的代码示例: #include #include #include #include template void print_queue(T& q)
我快疯了,我试图理解工具提示的行为,但没有成功。 1. 第一个问题是当我尝试通过插件(按钮 1)在点击事件中使用它时 -> 如果您转到 Fiddle,您会在“内容”内看到该函数' 每次点击都会调用该属
我在功能组件中有以下代码: const [ folder, setFolder ] = useState([]); const folderData = useContext(FolderContex
我在使用预签名网址和 AFNetworking 3.0 从 S3 获取图像时遇到问题。我可以使用 NSMutableURLRequest 和 NSURLSession 获取图像,但是当我使用 AFHT
我正在使用 Oracle ojdbc 12 和 Java 8 处理 Oracle UCP 管理器的问题。当 UCP 池启动失败时,我希望关闭它创建的连接。 当池初始化期间遇到 ORA-02391:超过
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve
引用这个plunker: https://plnkr.co/edit/GWsbdDWVvBYNMqyxzlLY?p=preview 我在 styles.css 文件和 src/app.ts 文件中指定
为什么我的条形这么细?我尝试将宽度设置为 1,它们变得非常厚。我不知道还能尝试什么。默认厚度为 0.8,这是应该的样子吗? import matplotlib.pyplot as plt import
当我编写时,查询按预期执行: SELECT id, day2.count - day1.count AS diff FROM day1 NATURAL JOIN day2; 但我真正想要的是右连接。当
我有以下时间数据: 0 08/01/16 13:07:46,335437 1 18/02/16 08:40:40,565575 2 14/01/16 22:2
一些背景知识 -我的 NodeJS 服务器在端口 3001 上运行,我的 React 应用程序在端口 3000 上运行。我在 React 应用程序 package.json 中设置了一个代理来代理对端
我面临着一个愚蠢的问题。我试图在我的 Angular 应用程序中延迟加载我的图像,我已经尝试过这个2: 但是他们都设置了 src attr 而不是 data-src,我在这里遗漏了什么吗?保留 d
我是一名优秀的程序员,十分优秀!